1/*
2 This file is part of the WebKit open source project.
3 This file has been generated by generate-bindings.pl. DO NOT MODIFY!
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
14
15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.
19*/
20
21#include "config.h"
22#include "JSDocument.h"
23
24#include "ActiveDOMObject.h"
25#include "CustomElementReactionQueue.h"
26#include "DOMIsoSubspaces.h"
27#include "DOMJITAbstractHeapRepository.h"
28#include "DOMJITIDLConvert.h"
29#include "DOMJITIDLType.h"
30#include "DOMJITIDLTypeFilter.h"
31#include "DOMWindow.h"
32#include "DocumentSVG.h"
33#include "EventNames.h"
34#include "IDLTypes.h"
35#include "JSAttr.h"
36#include "JSCDATASection.h"
37#include "JSCSSStyleDeclaration.h"
38#include "JSCanvasRenderingContext2D.h"
39#include "JSComment.h"
40#include "JSDOMAttribute.h"
41#include "JSDOMBinding.h"
42#include "JSDOMConstructor.h"
43#include "JSDOMConvertBase.h"
44#include "JSDOMConvertBoolean.h"
45#include "JSDOMConvertCallbacks.h"
46#include "JSDOMConvertInterface.h"
47#include "JSDOMConvertNullable.h"
48#include "JSDOMConvertNumbers.h"
49#include "JSDOMConvertSequences.h"
50#include "JSDOMConvertStrings.h"
51#include "JSDOMConvertUnion.h"
52#include "JSDOMConvertVariadic.h"
53#include "JSDOMConvertXPathNSResolver.h"
54#include "JSDOMExceptionHandling.h"
55#include "JSDOMGlobalObject.h"
56#include "JSDOMGlobalObjectInlines.h"
57#include "JSDOMImplementation.h"
58#include "JSDOMOperation.h"
59#include "JSDOMSelection.h"
60#include "JSDOMWindowBase.h"
61#include "JSDOMWrapperCache.h"
62#include "JSDocument.h"
63#include "JSDocumentFragment.h"
64#include "JSDocumentTimeline.h"
65#include "JSDocumentType.h"
66#include "JSElement.h"
67#include "JSEvent.h"
68#include "JSEventListener.h"
69#include "JSFontFaceSet.h"
70#include "JSGPUCanvasContext.h"
71#include "JSHTMLAllCollection.h"
72#include "JSHTMLCollection.h"
73#include "JSHTMLElement.h"
74#include "JSHTMLHeadElement.h"
75#include "JSImageBitmapRenderingContext.h"
76#include "JSLocation.h"
77#include "JSNodeFilter.h"
78#include "JSNodeIterator.h"
79#include "JSNodeList.h"
80#include "JSProcessingInstruction.h"
81#include "JSRange.h"
82#include "JSSVGSVGElement.h"
83#include "JSStyleSheetList.h"
84#include "JSText.h"
85#include "JSTreeWalker.h"
86#include "JSUndoManager.h"
87#include "JSVisibilityState.h"
88#include "JSWebAnimation.h"
89#include "JSWebGL2RenderingContext.h"
90#include "JSWebGLRenderingContext.h"
91#include "JSWindowProxy.h"
92#include "JSXPathExpression.h"
93#include "JSXPathNSResolver.h"
94#include "JSXPathResult.h"
95#include "Quirks.h"
96#include "RuntimeEnabledFeatures.h"
97#include "ScriptExecutionContext.h"
98#include "WebCoreJSClientData.h"
99#include <JavaScriptCore/FrameTracers.h>
100#include <JavaScriptCore/JSArray.h>
101#include <JavaScriptCore/JSCInlines.h>
102#include <JavaScriptCore/JSDestructibleObjectHeapCellType.h>
103#include <JavaScriptCore/JSString.h>
104#include <JavaScriptCore/ObjectConstructor.h>
105#include <JavaScriptCore/SlotVisitorMacros.h>
106#include <JavaScriptCore/SubspaceInlines.h>
107#include <wtf/GetPtr.h>
108#include <wtf/NeverDestroyed.h>
109#include <wtf/PointerPreparations.h>
110#include <wtf/Variant.h>
111
112#if ENABLE(FULLSCREEN_API)
113#include "DocumentFullscreen.h"
114#endif
115
116#if ENABLE(PICTURE_IN_PICTURE_API)
117#include "DocumentPictureInPicture.h"
118#endif
119
120#if ENABLE(PICTURE_IN_PICTURE_API) || ENABLE(RESOURCE_LOAD_STATISTICS)
121#include "DOMPromiseProxy.h"
122#include "JSDOMConvertPromise.h"
123#include "JSDOMOperationReturningPromise.h"
124#endif
125
126#if ENABLE(RESOURCE_LOAD_STATISTICS)
127#include "DocumentStorageAccess.h"
128#endif
129
130
131namespace WebCore {
132using namespace JSC;
133
134String convertEnumerationToString(Document::ReadyState enumerationValue)
135{
136 static const NeverDestroyed<String> values[] = {
137 MAKE_STATIC_STRING_IMPL("loading"),
138 MAKE_STATIC_STRING_IMPL("interactive"),
139 MAKE_STATIC_STRING_IMPL("complete"),
140 };
141 static_assert(static_cast<size_t>(Document::ReadyState::Loading) == 0, "Document::ReadyState::Loading is not 0 as expected");
142 static_assert(static_cast<size_t>(Document::ReadyState::Interactive) == 1, "Document::ReadyState::Interactive is not 1 as expected");
143 static_assert(static_cast<size_t>(Document::ReadyState::Complete) == 2, "Document::ReadyState::Complete is not 2 as expected");
144 ASSERT(static_cast<size_t>(enumerationValue) < WTF_ARRAY_LENGTH(values));
145 return values[static_cast<size_t>(enumerationValue)];
146}
147
148template<> JSString* convertEnumerationToJS(JSGlobalObject& lexicalGlobalObject, Document::ReadyState enumerationValue)
149{
150 return jsStringWithCache(lexicalGlobalObject.vm(), convertEnumerationToString(enumerationValue));
151}
152
153template<> std::optional<Document::ReadyState> parseEnumeration<Document::ReadyState>(JSGlobalObject& lexicalGlobalObject, JSValue value)
154{
155 auto stringValue = value.toWTFString(&lexicalGlobalObject);
156 if (stringValue == "loading")
157 return Document::ReadyState::Loading;
158 if (stringValue == "interactive")
159 return Document::ReadyState::Interactive;
160 if (stringValue == "complete")
161 return Document::ReadyState::Complete;
162 return std::nullopt;
163}
164
165template<> const char* expectedEnumerationValues<Document::ReadyState>()
166{
167 return "\"loading\", \"interactive\", \"complete\"";
168}
169
170// Functions
171
172static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_getElementsByTagName);
173static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_getElementsByTagNameNS);
174static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_getElementsByClassName);
175static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_createElement);
176static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_createElementNS);
177static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_createDocumentFragment);
178static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_createTextNode);
179static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_createCDATASection);
180static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_createComment);
181static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_createProcessingInstruction);
182static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_importNode);
183static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_adoptNode);
184static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_createAttribute);
185static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_createAttributeNS);
186static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_createEvent);
187static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_createRange);
188static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_createNodeIterator);
189static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_createTreeWalker);
190static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_getOverrideStyle);
191static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_caretRangeFromPoint);
192static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_getCSSCanvasContext);
193#if ENABLE(PICTURE_IN_PICTURE_API)
194static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_exitPictureInPicture);
195#endif
196#if ENABLE(FULLSCREEN_API)
197static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_webkitExitFullscreen);
198#endif
199#if ENABLE(FULLSCREEN_API)
200static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_webkitCancelFullScreen);
201#endif
202static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_getElementsByName);
203static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_open);
204static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_close);
205static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_write);
206static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_writeln);
207static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_hasFocus);
208static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_execCommand);
209static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_queryCommandEnabled);
210static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_queryCommandIndeterm);
211static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_queryCommandState);
212static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_queryCommandSupported);
213static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_queryCommandValue);
214static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_clear);
215static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_captureEvents);
216static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_releaseEvents);
217#if ENABLE(POINTER_LOCK)
218static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_exitPointerLock);
219#endif
220static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_getSelection);
221#if ENABLE(RESOURCE_LOAD_STATISTICS)
222static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_hasStorageAccess);
223#endif
224#if ENABLE(RESOURCE_LOAD_STATISTICS)
225static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_requestStorageAccess);
226#endif
227static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_elementFromPoint);
228static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_elementsFromPoint);
229static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_getAnimations);
230static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_getElementById);
231static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(jsDocumentPrototypeFunction_getElementByIdWithoutTypeCheck, JSC::EncodedJSValue, (JSC::JSGlobalObject*, JSDocument*, DOMJIT::IDLJSArgumentType<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>));
232static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_prepend);
233static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_append);
234static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_replaceChildren);
235static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_querySelector);
236static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_querySelectorAll);
237static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_createExpression);
238static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_createNSResolver);
239static JSC_DECLARE_HOST_FUNCTION(jsDocumentPrototypeFunction_evaluate);
240
241// Attributes
242
243static JSC_DECLARE_CUSTOM_GETTER(jsDocumentConstructor);
244static JSC_DECLARE_CUSTOM_GETTER(jsDocument_implementation);
245static JSC_DECLARE_CUSTOM_GETTER(jsDocument_URL);
246static JSC_DECLARE_CUSTOM_GETTER(jsDocument_documentURI);
247static JSC_DECLARE_CUSTOM_GETTER(jsDocument_compatMode);
248static JSC_DECLARE_CUSTOM_GETTER(jsDocument_characterSet);
249static JSC_DECLARE_CUSTOM_GETTER(jsDocument_charset);
250static JSC_DECLARE_CUSTOM_GETTER(jsDocument_inputEncoding);
251static JSC_DECLARE_CUSTOM_GETTER(jsDocument_contentType);
252static JSC_DECLARE_CUSTOM_GETTER(jsDocument_doctype);
253static JSC_DECLARE_CUSTOM_GETTER(jsDocument_documentElement);
254static JSC_DECLARE_CUSTOM_GETTER(jsDocument_xmlEncoding);
255static JSC_DECLARE_CUSTOM_GETTER(jsDocument_xmlVersion);
256static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_xmlVersion);
257static JSC_DECLARE_CUSTOM_GETTER(jsDocument_xmlStandalone);
258static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_xmlStandalone);
259#if ENABLE(PICTURE_IN_PICTURE_API)
260static JSC_DECLARE_CUSTOM_GETTER(jsDocument_pictureInPictureEnabled);
261#endif
262static JSC_DECLARE_CUSTOM_GETTER(jsDocument_timeline);
263static JSC_DECLARE_CUSTOM_GETTER(jsDocument_fonts);
264static JSC_DECLARE_CUSTOM_GETTER(jsDocument_scrollingElement);
265#if ENABLE(FULLSCREEN_API)
266static JSC_DECLARE_CUSTOM_GETTER(jsDocument_webkitFullscreenEnabled);
267#endif
268#if ENABLE(FULLSCREEN_API)
269static JSC_DECLARE_CUSTOM_GETTER(jsDocument_webkitFullscreenElement);
270#endif
271#if ENABLE(FULLSCREEN_API)
272static JSC_DECLARE_CUSTOM_GETTER(jsDocument_webkitIsFullScreen);
273#endif
274#if ENABLE(FULLSCREEN_API)
275static JSC_DECLARE_CUSTOM_GETTER(jsDocument_webkitFullScreenKeyboardInputAllowed);
276#endif
277#if ENABLE(FULLSCREEN_API)
278static JSC_DECLARE_CUSTOM_GETTER(jsDocument_webkitCurrentFullScreenElement);
279#endif
280#if ENABLE(FULLSCREEN_API)
281static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onwebkitfullscreenchange);
282static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onwebkitfullscreenchange);
283#endif
284#if ENABLE(FULLSCREEN_API)
285static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onwebkitfullscreenerror);
286static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onwebkitfullscreenerror);
287#endif
288static JSC_DECLARE_CUSTOM_GETTER(jsDocument_location);
289static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_location);
290static JSC_DECLARE_CUSTOM_GETTER(jsDocument_domain);
291static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_domain);
292static JSC_DECLARE_CUSTOM_GETTER(jsDocument_referrer);
293static JSC_DECLARE_CUSTOM_GETTER(jsDocument_cookie);
294static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_cookie);
295static JSC_DECLARE_CUSTOM_GETTER(jsDocument_lastModified);
296static JSC_DECLARE_CUSTOM_GETTER(jsDocument_readyState);
297static JSC_DECLARE_CUSTOM_GETTER(jsDocument_title);
298static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_title);
299static JSC_DECLARE_CUSTOM_GETTER(jsDocument_dir);
300static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_dir);
301static JSC_DECLARE_CUSTOM_GETTER(jsDocument_body);
302static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_body);
303static JSC_DECLARE_CUSTOM_GETTER(jsDocument_head);
304static JSC_DECLARE_CUSTOM_GETTER(jsDocument_images);
305static JSC_DECLARE_CUSTOM_GETTER(jsDocument_embeds);
306static JSC_DECLARE_CUSTOM_GETTER(jsDocument_plugins);
307static JSC_DECLARE_CUSTOM_GETTER(jsDocument_links);
308static JSC_DECLARE_CUSTOM_GETTER(jsDocument_forms);
309static JSC_DECLARE_CUSTOM_GETTER(jsDocument_scripts);
310static JSC_DECLARE_CUSTOM_GETTER(jsDocument_currentScript);
311static JSC_DECLARE_CUSTOM_GETTER(jsDocument_defaultView);
312static JSC_DECLARE_CUSTOM_GETTER(jsDocument_designMode);
313static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_designMode);
314static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onreadystatechange);
315static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onreadystatechange);
316static JSC_DECLARE_CUSTOM_GETTER(jsDocument_fgColor);
317static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_fgColor);
318static JSC_DECLARE_CUSTOM_GETTER(jsDocument_linkColor);
319static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_linkColor);
320static JSC_DECLARE_CUSTOM_GETTER(jsDocument_vlinkColor);
321static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_vlinkColor);
322static JSC_DECLARE_CUSTOM_GETTER(jsDocument_alinkColor);
323static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_alinkColor);
324static JSC_DECLARE_CUSTOM_GETTER(jsDocument_bgColor);
325static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_bgColor);
326static JSC_DECLARE_CUSTOM_GETTER(jsDocument_anchors);
327static JSC_DECLARE_CUSTOM_GETTER(jsDocument_applets);
328static JSC_DECLARE_CUSTOM_GETTER(jsDocument_all);
329static JSC_DECLARE_CUSTOM_GETTER(jsDocument_hidden);
330static JSC_DECLARE_CUSTOM_GETTER(jsDocument_visibilityState);
331static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onvisibilitychange);
332static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onvisibilitychange);
333#if ENABLE(POINTER_LOCK)
334static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onpointerlockchange);
335static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onpointerlockchange);
336#endif
337#if ENABLE(POINTER_LOCK)
338static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onpointerlockerror);
339static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onpointerlockerror);
340#endif
341static JSC_DECLARE_CUSTOM_GETTER(jsDocument_undoManager);
342static JSC_DECLARE_CUSTOM_GETTER(jsDocument_oncopy);
343static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_oncopy);
344static JSC_DECLARE_CUSTOM_GETTER(jsDocument_oncut);
345static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_oncut);
346static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onpaste);
347static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onpaste);
348static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onbeforecopy);
349static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onbeforecopy);
350static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onbeforecut);
351static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onbeforecut);
352static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onbeforeinput);
353static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onbeforeinput);
354static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onbeforepaste);
355static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onbeforepaste);
356static JSC_DECLARE_CUSTOM_GETTER(jsDocument_activeElement);
357#if ENABLE(PICTURE_IN_PICTURE_API)
358static JSC_DECLARE_CUSTOM_GETTER(jsDocument_pictureInPictureElement);
359#endif
360static JSC_DECLARE_CUSTOM_GETTER(jsDocument_styleSheets);
361#if ENABLE(POINTER_LOCK)
362static JSC_DECLARE_CUSTOM_GETTER(jsDocument_pointerLockElement);
363#endif
364static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onabort);
365static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onabort);
366static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onblur);
367static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onblur);
368static JSC_DECLARE_CUSTOM_GETTER(jsDocument_oncanplay);
369static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_oncanplay);
370static JSC_DECLARE_CUSTOM_GETTER(jsDocument_oncanplaythrough);
371static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_oncanplaythrough);
372static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onchange);
373static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onchange);
374static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onclick);
375static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onclick);
376static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onclose);
377static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onclose);
378static JSC_DECLARE_CUSTOM_GETTER(jsDocument_oncontextmenu);
379static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_oncontextmenu);
380static JSC_DECLARE_CUSTOM_GETTER(jsDocument_oncuechange);
381static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_oncuechange);
382static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ondblclick);
383static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ondblclick);
384static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ondrag);
385static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ondrag);
386static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ondragend);
387static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ondragend);
388static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ondragenter);
389static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ondragenter);
390static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ondragleave);
391static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ondragleave);
392static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ondragover);
393static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ondragover);
394static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ondragstart);
395static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ondragstart);
396static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ondrop);
397static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ondrop);
398static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ondurationchange);
399static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ondurationchange);
400static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onemptied);
401static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onemptied);
402static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onended);
403static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onended);
404static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onerror);
405static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onerror);
406static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onfocus);
407static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onfocus);
408static JSC_DECLARE_CUSTOM_GETTER(jsDocument_oninput);
409static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_oninput);
410static JSC_DECLARE_CUSTOM_GETTER(jsDocument_oninvalid);
411static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_oninvalid);
412static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onkeydown);
413static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onkeydown);
414static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onkeypress);
415static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onkeypress);
416static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onkeyup);
417static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onkeyup);
418static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onload);
419static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onload);
420static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onloadeddata);
421static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onloadeddata);
422static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onloadedmetadata);
423static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onloadedmetadata);
424static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onloadstart);
425static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onloadstart);
426static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onmousedown);
427static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onmousedown);
428static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onmouseenter);
429static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onmouseenter);
430static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onmouseleave);
431static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onmouseleave);
432static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onmousemove);
433static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onmousemove);
434static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onmouseout);
435static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onmouseout);
436static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onmouseover);
437static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onmouseover);
438static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onmouseup);
439static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onmouseup);
440static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onpause);
441static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onpause);
442static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onplay);
443static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onplay);
444static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onplaying);
445static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onplaying);
446static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onprogress);
447static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onprogress);
448static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onratechange);
449static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onratechange);
450static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onreset);
451static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onreset);
452static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onresize);
453static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onresize);
454static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onscroll);
455static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onscroll);
456static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onseeked);
457static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onseeked);
458static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onseeking);
459static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onseeking);
460static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onselect);
461static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onselect);
462static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onslotchange);
463static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onslotchange);
464static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onstalled);
465static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onstalled);
466static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onsubmit);
467static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onsubmit);
468static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onsuspend);
469static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onsuspend);
470static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ontimeupdate);
471static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ontimeupdate);
472static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ontoggle);
473static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ontoggle);
474static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onvolumechange);
475static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onvolumechange);
476static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onwaiting);
477static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onwaiting);
478static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onwebkitanimationend);
479static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onwebkitanimationend);
480static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onwebkitanimationiteration);
481static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onwebkitanimationiteration);
482static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onwebkitanimationstart);
483static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onwebkitanimationstart);
484static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onwebkittransitionend);
485static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onwebkittransitionend);
486static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onwheel);
487static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onwheel);
488static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onmousewheel);
489static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onmousewheel);
490static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onsearch);
491static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onsearch);
492#if ENABLE(TOUCH_EVENTS)
493static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ontouchcancel);
494static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ontouchcancel);
495#endif
496#if ENABLE(TOUCH_EVENTS)
497static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ontouchend);
498static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ontouchend);
499#endif
500#if ENABLE(TOUCH_EVENTS)
501static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ontouchmove);
502static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ontouchmove);
503#endif
504#if ENABLE(TOUCH_EVENTS)
505static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ontouchstart);
506static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ontouchstart);
507#endif
508#if ENABLE(TOUCH_EVENTS)
509static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ontouchforcechange);
510static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ontouchforcechange);
511#endif
512#if ENABLE(MOUSE_FORCE_EVENTS)
513static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onwebkitmouseforcechanged);
514static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onwebkitmouseforcechanged);
515#endif
516#if ENABLE(MOUSE_FORCE_EVENTS)
517static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onwebkitmouseforcedown);
518static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onwebkitmouseforcedown);
519#endif
520#if ENABLE(MOUSE_FORCE_EVENTS)
521static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onwebkitmouseforcewillbegin);
522static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onwebkitmouseforcewillbegin);
523#endif
524#if ENABLE(MOUSE_FORCE_EVENTS)
525static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onwebkitmouseforceup);
526static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onwebkitmouseforceup);
527#endif
528static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onanimationstart);
529static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onanimationstart);
530static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onanimationiteration);
531static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onanimationiteration);
532static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onanimationend);
533static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onanimationend);
534static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onanimationcancel);
535static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onanimationcancel);
536static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ontransitionrun);
537static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ontransitionrun);
538static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ontransitionstart);
539static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ontransitionstart);
540static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ontransitionend);
541static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ontransitionend);
542static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ontransitioncancel);
543static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ontransitioncancel);
544static JSC_DECLARE_CUSTOM_GETTER(jsDocument_ongotpointercapture);
545static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_ongotpointercapture);
546static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onlostpointercapture);
547static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onlostpointercapture);
548static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onpointerdown);
549static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onpointerdown);
550static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onpointermove);
551static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onpointermove);
552static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onpointerup);
553static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onpointerup);
554static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onpointercancel);
555static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onpointercancel);
556static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onpointerover);
557static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onpointerover);
558static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onpointerout);
559static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onpointerout);
560static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onpointerenter);
561static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onpointerenter);
562static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onpointerleave);
563static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onpointerleave);
564static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onselectstart);
565static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onselectstart);
566static JSC_DECLARE_CUSTOM_GETTER(jsDocument_onselectionchange);
567static JSC_DECLARE_CUSTOM_SETTER(setJSDocument_onselectionchange);
568static JSC_DECLARE_CUSTOM_GETTER(jsDocument_children);
569static JSC_DECLARE_CUSTOM_GETTER(jsDocument_firstElementChild);
570static JSC_DECLARE_CUSTOM_GETTER(jsDocument_lastElementChild);
571static JSC_DECLARE_CUSTOM_GETTER(jsDocument_childElementCount);
572static JSC_DECLARE_CUSTOM_GETTER(jsDocument_rootElement);
573
574static const JSC::DOMJIT::Signature DOMJITSignatureForDocumentGetElementById(jsDocumentPrototypeFunction_getElementByIdWithoutTypeCheck, JSDocument::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLNullable<IDLInterface<Element>>>::value, DOMJIT::IDLArgumentTypeFilter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::value);
575
576static const JSC::DOMJIT::GetterSetter DOMJITAttributeForDocumentDocumentElement {
577 jsDocument_documentElement,
578#if ENABLE(JIT)
579 &compileDocumentDocumentElementAttribute,
580#else
581 nullptr,
582#endif
583 DOMJIT::IDLResultTypeFilter<IDLNullable<IDLInterface<Element>>>::value
584};
585
586static const JSC::DOMJIT::GetterSetter DOMJITAttributeForDocumentBody {
587 jsDocument_body,
588#if ENABLE(JIT)
589 &compileDocumentBodyAttribute,
590#else
591 nullptr,
592#endif
593 DOMJIT::IDLResultTypeFilter<IDLNullable<IDLInterface<HTMLElement>>>::value
594};
595
596class JSDocumentPrototype final : public JSC::JSNonFinalObject {
597public:
598 using Base = JSC::JSNonFinalObject;
599 static JSDocumentPrototype* create(JSC::VM& vm, JSDOMGlobalObject* globalObject, JSC::Structure* structure)
600 {
601 JSDocumentPrototype* ptr = new (NotNull, JSC::allocateCell<JSDocumentPrototype>(vm.heap)) JSDocumentPrototype(vm, globalObject, structure);
602 ptr->finishCreation(vm);
603 return ptr;
604 }
605
606 DECLARE_INFO;
607 template<typename CellType, JSC::SubspaceAccess>
608 static JSC::IsoSubspace* subspaceFor(JSC::VM& vm)
609 {
610 STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSDocumentPrototype, Base);
611 return &vm.plainObjectSpace;
612 }
613 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
614 {
615 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
616 }
617
618private:
619 JSDocumentPrototype(JSC::VM& vm, JSC::JSGlobalObject*, JSC::Structure* structure)
620 : JSC::JSNonFinalObject(vm, structure)
621 {
622 }
623
624 void finishCreation(JSC::VM&);
625public:
626 static constexpr unsigned StructureFlags = Base::StructureFlags | JSC::HasStaticPropertyTable;
627};
628STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSDocumentPrototype, JSDocumentPrototype::Base);
629
630using JSDocumentDOMConstructor = JSDOMConstructor<JSDocument>;
631
632template<> EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSDocumentDOMConstructor::construct(JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame)
633{
634 VM& vm = lexicalGlobalObject->vm();
635 auto throwScope = DECLARE_THROW_SCOPE(vm);
636 auto* castedThis = jsCast<JSDocumentDOMConstructor*>(callFrame->jsCallee());
637 ASSERT(castedThis);
638 auto* context = castedThis->scriptExecutionContext();
639 if (UNLIKELY(!context))
640 return throwConstructorScriptExecutionContextUnavailableError(*lexicalGlobalObject, throwScope, "Document");
641 ASSERT(context->isDocument());
642 auto& document = downcast<Document>(*context);
643 auto object = Document::create(document);
644 static_assert(TypeOrExceptionOrUnderlyingType<decltype(object)>::isRef);
645 auto jsValue = toJSNewlyCreated<IDLInterface<Document>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, WTFMove(object));
646 if constexpr (IsExceptionOr<decltype(object)>)
647 RETURN_IF_EXCEPTION(throwScope, { });
648 setSubclassStructureIfNeeded<Document>(lexicalGlobalObject, callFrame, asObject(jsValue));
649 RETURN_IF_EXCEPTION(throwScope, { });
650 return JSValue::encode(jsValue);
651}
652JSC_ANNOTATE_HOST_FUNCTION(JSDocumentDOMConstructorConstruct, JSDocumentDOMConstructor::construct);
653
654template<> const unsigned JSDocumentDOMConstructor::StructureFlags = Base::StructureFlags;
655template<> const ClassInfo JSDocumentDOMConstructor::s_info = { "Document", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDocumentDOMConstructor) };
656
657template<> JSValue JSDocumentDOMConstructor::prototypeForStructure(JSC::VM& vm, const JSDOMGlobalObject& globalObject)
658{
659 return JSNode::getConstructor(vm, &globalObject);
660}
661
662template<> void JSDocumentDOMConstructor::initializeProperties(VM& vm, JSDOMGlobalObject& globalObject)
663{
664 putDirect(vm, vm.propertyNames->prototype, JSDocument::prototype(vm, globalObject), JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum);
665 putDirect(vm, vm.propertyNames->name, jsNontrivialString(vm, "Document"_s), JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum);
666 putDirect(vm, vm.propertyNames->length, jsNumber(0), JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum);
667}
668
669#if ENABLE(PICTURE_IN_PICTURE_API)
670static JSValue createJSDocumentPrototype_pictureInPictureEnabled(VM& vm, JSObject*)
671{
672 return DOMAttributeGetterSetter::create(vm, jsDocument_pictureInPictureEnabled, nullptr, DOMAttributeAnnotation { JSDocument::info(), nullptr });
673}
674
675static bool isEnabledJSDocumentPrototype_pictureInPictureEnabled(JSGlobalObject* globalObject)
676{
677 UNUSED_PARAM(globalObject);
678 return jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext()->settingsValues().pictureInPictureAPIEnabled;
679}
680#endif
681
682#if ENABLE(FULLSCREEN_API)
683static JSValue createJSDocumentPrototype_webkitFullscreenEnabled(VM& vm, JSObject*)
684{
685 return DOMAttributeGetterSetter::create(vm, jsDocument_webkitFullscreenEnabled, nullptr, DOMAttributeAnnotation { JSDocument::info(), nullptr });
686}
687
688static bool isEnabledJSDocumentPrototype_webkitFullscreenEnabled(JSGlobalObject* globalObject)
689{
690 UNUSED_PARAM(globalObject);
691 return (jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext()->settingsValues().fullScreenEnabled && !downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext())->quirks().shouldDisableElementFullscreenQuirk());
692}
693#endif
694
695#if ENABLE(FULLSCREEN_API)
696static JSValue createJSDocumentPrototype_webkitFullscreenElement(VM& vm, JSObject*)
697{
698 return DOMAttributeGetterSetter::create(vm, jsDocument_webkitFullscreenElement, nullptr, DOMAttributeAnnotation { JSDocument::info(), nullptr });
699}
700
701static bool isEnabledJSDocumentPrototype_webkitFullscreenElement(JSGlobalObject* globalObject)
702{
703 UNUSED_PARAM(globalObject);
704 return (jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext()->settingsValues().fullScreenEnabled && !downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext())->quirks().shouldDisableElementFullscreenQuirk());
705}
706#endif
707
708#if ENABLE(FULLSCREEN_API)
709static JSValue createJSDocumentPrototype_webkitIsFullScreen(VM& vm, JSObject*)
710{
711 return DOMAttributeGetterSetter::create(vm, jsDocument_webkitIsFullScreen, nullptr, DOMAttributeAnnotation { JSDocument::info(), nullptr });
712}
713
714static bool isEnabledJSDocumentPrototype_webkitIsFullScreen(JSGlobalObject* globalObject)
715{
716 UNUSED_PARAM(globalObject);
717 return (jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext()->settingsValues().fullScreenEnabled && !downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext())->quirks().shouldDisableElementFullscreenQuirk());
718}
719#endif
720
721#if ENABLE(FULLSCREEN_API)
722static JSValue createJSDocumentPrototype_webkitFullScreenKeyboardInputAllowed(VM& vm, JSObject*)
723{
724 return DOMAttributeGetterSetter::create(vm, jsDocument_webkitFullScreenKeyboardInputAllowed, nullptr, DOMAttributeAnnotation { JSDocument::info(), nullptr });
725}
726
727static bool isEnabledJSDocumentPrototype_webkitFullScreenKeyboardInputAllowed(JSGlobalObject* globalObject)
728{
729 UNUSED_PARAM(globalObject);
730 return (jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext()->settingsValues().fullScreenEnabled && !downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext())->quirks().shouldDisableElementFullscreenQuirk());
731}
732#endif
733
734#if ENABLE(FULLSCREEN_API)
735static JSValue createJSDocumentPrototype_webkitCurrentFullScreenElement(VM& vm, JSObject*)
736{
737 return DOMAttributeGetterSetter::create(vm, jsDocument_webkitCurrentFullScreenElement, nullptr, DOMAttributeAnnotation { JSDocument::info(), nullptr });
738}
739
740static bool isEnabledJSDocumentPrototype_webkitCurrentFullScreenElement(JSGlobalObject* globalObject)
741{
742 UNUSED_PARAM(globalObject);
743 return (jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext()->settingsValues().fullScreenEnabled && !downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext())->quirks().shouldDisableElementFullscreenQuirk());
744}
745#endif
746
747#if ENABLE(FULLSCREEN_API)
748static JSValue createJSDocumentPrototype_onwebkitfullscreenchange(VM& vm, JSObject*)
749{
750 return DOMAttributeGetterSetter::create(vm, jsDocument_onwebkitfullscreenchange, setJSDocument_onwebkitfullscreenchange, DOMAttributeAnnotation { JSDocument::info(), nullptr });
751}
752
753static bool isEnabledJSDocumentPrototype_onwebkitfullscreenchange(JSGlobalObject* globalObject)
754{
755 UNUSED_PARAM(globalObject);
756 return (jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext()->settingsValues().fullScreenEnabled && !downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext())->quirks().shouldDisableElementFullscreenQuirk());
757}
758#endif
759
760#if ENABLE(FULLSCREEN_API)
761static JSValue createJSDocumentPrototype_onwebkitfullscreenerror(VM& vm, JSObject*)
762{
763 return DOMAttributeGetterSetter::create(vm, jsDocument_onwebkitfullscreenerror, setJSDocument_onwebkitfullscreenerror, DOMAttributeAnnotation { JSDocument::info(), nullptr });
764}
765
766static bool isEnabledJSDocumentPrototype_onwebkitfullscreenerror(JSGlobalObject* globalObject)
767{
768 UNUSED_PARAM(globalObject);
769 return (jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext()->settingsValues().fullScreenEnabled && !downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext())->quirks().shouldDisableElementFullscreenQuirk());
770}
771#endif
772
773static JSValue createJSDocumentPrototype_undoManager(VM& vm, JSObject*)
774{
775 return DOMAttributeGetterSetter::create(vm, jsDocument_undoManager, nullptr, DOMAttributeAnnotation { JSDocument::info(), nullptr });
776}
777
778static bool isEnabledJSDocumentPrototype_undoManager(JSGlobalObject* globalObject)
779{
780 UNUSED_PARAM(globalObject);
781 return jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext()->settingsValues().undoManagerAPIEnabled;
782}
783
784#if ENABLE(PICTURE_IN_PICTURE_API)
785static JSValue createJSDocumentPrototype_pictureInPictureElement(VM& vm, JSObject*)
786{
787 return DOMAttributeGetterSetter::create(vm, jsDocument_pictureInPictureElement, nullptr, DOMAttributeAnnotation { JSDocument::info(), nullptr });
788}
789
790static bool isEnabledJSDocumentPrototype_pictureInPictureElement(JSGlobalObject* globalObject)
791{
792 UNUSED_PARAM(globalObject);
793 return jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext()->settingsValues().pictureInPictureAPIEnabled;
794}
795#endif
796
797#if ENABLE(TOUCH_EVENTS)
798static JSValue createJSDocumentPrototype_ontouchcancel(VM& vm, JSObject*)
799{
800 return DOMAttributeGetterSetter::create(vm, jsDocument_ontouchcancel, setJSDocument_ontouchcancel, DOMAttributeAnnotation { JSDocument::info(), nullptr });
801}
802
803static bool isEnabledJSDocumentPrototype_ontouchcancel(JSGlobalObject* globalObject)
804{
805 UNUSED_PARAM(globalObject);
806 return RuntimeEnabledFeatures::sharedFeatures().touchEventsEnabled();
807}
808#endif
809
810#if ENABLE(TOUCH_EVENTS)
811static JSValue createJSDocumentPrototype_ontouchend(VM& vm, JSObject*)
812{
813 return DOMAttributeGetterSetter::create(vm, jsDocument_ontouchend, setJSDocument_ontouchend, DOMAttributeAnnotation { JSDocument::info(), nullptr });
814}
815
816static bool isEnabledJSDocumentPrototype_ontouchend(JSGlobalObject* globalObject)
817{
818 UNUSED_PARAM(globalObject);
819 return RuntimeEnabledFeatures::sharedFeatures().touchEventsEnabled();
820}
821#endif
822
823#if ENABLE(TOUCH_EVENTS)
824static JSValue createJSDocumentPrototype_ontouchmove(VM& vm, JSObject*)
825{
826 return DOMAttributeGetterSetter::create(vm, jsDocument_ontouchmove, setJSDocument_ontouchmove, DOMAttributeAnnotation { JSDocument::info(), nullptr });
827}
828
829static bool isEnabledJSDocumentPrototype_ontouchmove(JSGlobalObject* globalObject)
830{
831 UNUSED_PARAM(globalObject);
832 return RuntimeEnabledFeatures::sharedFeatures().touchEventsEnabled();
833}
834#endif
835
836#if ENABLE(TOUCH_EVENTS)
837static JSValue createJSDocumentPrototype_ontouchstart(VM& vm, JSObject*)
838{
839 return DOMAttributeGetterSetter::create(vm, jsDocument_ontouchstart, setJSDocument_ontouchstart, DOMAttributeAnnotation { JSDocument::info(), nullptr });
840}
841
842static bool isEnabledJSDocumentPrototype_ontouchstart(JSGlobalObject* globalObject)
843{
844 UNUSED_PARAM(globalObject);
845 return RuntimeEnabledFeatures::sharedFeatures().touchEventsEnabled();
846}
847#endif
848
849#if ENABLE(TOUCH_EVENTS)
850static JSValue createJSDocumentPrototype_ontouchforcechange(VM& vm, JSObject*)
851{
852 return DOMAttributeGetterSetter::create(vm, jsDocument_ontouchforcechange, setJSDocument_ontouchforcechange, DOMAttributeAnnotation { JSDocument::info(), nullptr });
853}
854
855static bool isEnabledJSDocumentPrototype_ontouchforcechange(JSGlobalObject* globalObject)
856{
857 UNUSED_PARAM(globalObject);
858 return RuntimeEnabledFeatures::sharedFeatures().touchEventsEnabled();
859}
860#endif
861
862#if ENABLE(PICTURE_IN_PICTURE_API)
863static JSValue createJSDocumentPrototype_exitPictureInPicture(VM& vm, JSObject* thisObject)
864{
865 return JSFunction::create(vm, thisObject->globalObject(), 0, "exitPictureInPicture"_s, jsDocumentPrototypeFunction_exitPictureInPicture);
866}
867
868static bool isEnabledJSDocumentPrototype_exitPictureInPicture(JSGlobalObject* globalObject)
869{
870 UNUSED_PARAM(globalObject);
871 return jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext()->settingsValues().pictureInPictureAPIEnabled;
872}
873#endif
874
875#if ENABLE(FULLSCREEN_API)
876static JSValue createJSDocumentPrototype_webkitExitFullscreen(VM& vm, JSObject* thisObject)
877{
878 return JSFunction::create(vm, thisObject->globalObject(), 0, "webkitExitFullscreen"_s, jsDocumentPrototypeFunction_webkitExitFullscreen);
879}
880
881static bool isEnabledJSDocumentPrototype_webkitExitFullscreen(JSGlobalObject* globalObject)
882{
883 UNUSED_PARAM(globalObject);
884 return (jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext()->settingsValues().fullScreenEnabled && !downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext())->quirks().shouldDisableElementFullscreenQuirk());
885}
886#endif
887
888#if ENABLE(FULLSCREEN_API)
889static JSValue createJSDocumentPrototype_webkitCancelFullScreen(VM& vm, JSObject* thisObject)
890{
891 return JSFunction::create(vm, thisObject->globalObject(), 0, "webkitCancelFullScreen"_s, jsDocumentPrototypeFunction_webkitCancelFullScreen);
892}
893
894static bool isEnabledJSDocumentPrototype_webkitCancelFullScreen(JSGlobalObject* globalObject)
895{
896 UNUSED_PARAM(globalObject);
897 return (jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext()->settingsValues().fullScreenEnabled && !downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext())->quirks().shouldDisableElementFullscreenQuirk());
898}
899#endif
900
901#if ENABLE(RESOURCE_LOAD_STATISTICS)
902static JSValue createJSDocumentPrototype_hasStorageAccess(VM& vm, JSObject* thisObject)
903{
904 return JSFunction::create(vm, thisObject->globalObject(), 0, "hasStorageAccess"_s, jsDocumentPrototypeFunction_hasStorageAccess);
905}
906
907static bool isEnabledJSDocumentPrototype_hasStorageAccess(JSGlobalObject* globalObject)
908{
909 UNUSED_PARAM(globalObject);
910 return jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext()->settingsValues().storageAccessAPIEnabled;
911}
912#endif
913
914#if ENABLE(RESOURCE_LOAD_STATISTICS)
915static JSValue createJSDocumentPrototype_requestStorageAccess(VM& vm, JSObject* thisObject)
916{
917 return JSFunction::create(vm, thisObject->globalObject(), 0, "requestStorageAccess"_s, jsDocumentPrototypeFunction_requestStorageAccess);
918}
919
920static bool isEnabledJSDocumentPrototype_requestStorageAccess(JSGlobalObject* globalObject)
921{
922 UNUSED_PARAM(globalObject);
923 return jsCast<JSDOMGlobalObject*>(globalObject)->scriptExecutionContext()->settingsValues().storageAccessAPIEnabled;
924}
925#endif
926
927/* Hash table for Prototype */
928
929static const struct CompactHashIndex JSDocumentPrototypeTableIndex[556] = {
930 { -1, -1 },
931 { -1, -1 },
932 { -1, -1 },
933 { 221, -1 },
934 { -1, -1 },
935 { -1, -1 },
936 { 83, -1 },
937 { -1, -1 },
938 { 10, -1 },
939 { -1, -1 },
940 { -1, -1 },
941 { -1, -1 },
942 { 12, 512 },
943 { -1, -1 },
944 { -1, -1 },
945 { -1, -1 },
946 { -1, -1 },
947 { 190, -1 },
948 { -1, -1 },
949 { -1, -1 },
950 { -1, -1 },
951 { 137, -1 },
952 { 187, -1 },
953 { 173, -1 },
954 { -1, -1 },
955 { 208, -1 },
956 { 120, 533 },
957 { 203, -1 },
958 { -1, -1 },
959 { -1, -1 },
960 { -1, -1 },
961 { -1, -1 },
962 { 177, -1 },
963 { -1, -1 },
964 { -1, -1 },
965 { 116, 527 },
966 { -1, -1 },
967 { 88, 535 },
968 { 121, 549 },
969 { 186, -1 },
970 { -1, -1 },
971 { -1, -1 },
972 { -1, -1 },
973 { 62, -1 },
974 { -1, -1 },
975 { -1, -1 },
976 { 142, -1 },
977 { -1, -1 },
978 { -1, -1 },
979 { -1, -1 },
980 { 51, 523 },
981 { 114, -1 },
982 { -1, -1 },
983 { -1, -1 },
984 { -1, -1 },
985 { 195, -1 },
986 { -1, -1 },
987 { -1, -1 },
988 { -1, -1 },
989 { -1, -1 },
990 { -1, -1 },
991 { 110, -1 },
992 { -1, -1 },
993 { 158, -1 },
994 { 147, -1 },
995 { 125, -1 },
996 { -1, -1 },
997 { -1, -1 },
998 { -1, -1 },
999 { -1, -1 },
1000 { 185, -1 },
1001 { -1, -1 },
1002 { -1, -1 },
1003 { -1, -1 },
1004 { 139, -1 },
1005 { -1, -1 },
1006 { 220, -1 },
1007 { 21, -1 },
1008 { -1, -1 },
1009 { -1, -1 },
1010 { 122, -1 },
1011 { 90, -1 },
1012 { -1, -1 },
1013 { -1, -1 },
1014 { -1, -1 },
1015 { 63, 521 },
1016 { 59, -1 },
1017 { -1, -1 },
1018 { 127, -1 },
1019 { -1, -1 },
1020 { 86, -1 },
1021 { 154, -1 },
1022 { 71, -1 },
1023 { 24, 518 },
1024 { -1, -1 },
1025 { 14, -1 },
1026 { -1, -1 },
1027 { 33, -1 },
1028 { -1, -1 },
1029 { 204, -1 },
1030 { -1, -1 },
1031 { 164, 542 },
1032 { -1, -1 },
1033 { 41, -1 },
1034 { -1, -1 },
1035 { 213, -1 },
1036 { -1, -1 },
1037 { -1, -1 },
1038 { -1, -1 },
1039 { -1, -1 },
1040 { -1, -1 },
1041 { -1, -1 },
1042 { -1, -1 },
1043 { -1, -1 },
1044 { -1, -1 },
1045 { -1, -1 },
1046 { 82, -1 },
1047 { -1, -1 },
1048 { -1, -1 },
1049 { -1, -1 },
1050 { -1, -1 },
1051 { -1, -1 },
1052 { -1, -1 },
1053 { -1, -1 },
1054 { 76, 526 },
1055 { -1, -1 },
1056 { -1, -1 },
1057 { -1, -1 },
1058 { 101, -1 },
1059 { -1, -1 },
1060 { 49, 525 },
1061 { 91, -1 },
1062 { -1, -1 },
1063 { -1, -1 },
1064 { 166, -1 },
1065 { -1, -1 },
1066 { -1, -1 },
1067 { -1, -1 },
1068 { -1, -1 },
1069 { -1, -1 },
1070 { 58, -1 },
1071 { -1, -1 },
1072 { -1, -1 },
1073 { -1, -1 },
1074 { 98, -1 },
1075 { -1, -1 },
1076 { -1, -1 },
1077 { -1, -1 },
1078 { -1, -1 },
1079 { 113, -1 },
1080 { -1, -1 },
1081 { -1, -1 },
1082 { 140, -1 },
1083 { 9, -1 },
1084 { 84, 545 },
1085 { -1, -1 },
1086 { -1, -1 },
1087 { -1, -1 },
1088 { -1, -1 },
1089 { -1, -1 },
1090 { -1, -1 },
1091 { -1, -1 },
1092 { -1, -1 },
1093 { -1, -1 },
1094 { -1, -1 },
1095 { -1, -1 },
1096 { -1, -1 },
1097 { -1, -1 },
1098 { 102, 554 },
1099 { -1, -1 },
1100 { -1, -1 },
1101 { -1, -1 },
1102 { 64, 551 },
1103 { -1, -1 },
1104 { 38, -1 },
1105 { -1, -1 },
1106 { -1, -1 },
1107 { 163, -1 },
1108 { 200, -1 },
1109 { 35, 519 },
1110 { -1, -1 },
1111 { -1, -1 },
1112 { 128, 547 },
1113 { 132, 529 },
1114 { -1, -1 },
1115 { 115, -1 },
1116 { -1, -1 },
1117 { -1, -1 },
1118 { -1, -1 },
1119 { -1, -1 },
1120 { -1, -1 },
1121 { 78, -1 },
1122 { -1, -1 },
1123 { -1, -1 },
1124 { 15, 513 },
1125 { -1, -1 },
1126 { -1, -1 },
1127 { -1, -1 },
1128 { -1, -1 },
1129 { -1, -1 },
1130 { -1, -1 },
1131 { -1, -1 },
1132 { -1, -1 },
1133 { -1, -1 },
1134 { -1, -1 },
1135 { -1, -1 },
1136 { 103, -1 },
1137 { 81, 520 },
1138 { 30, -1 },
1139 { 198, -1 },
1140 { -1, -1 },
1141 { -1, -1 },
1142 { -1, -1 },
1143 { 69, -1 },
1144 { -1, -1 },
1145 { 70, -1 },
1146 { -1, -1 },
1147 { 4, -1 },
1148 { 134, -1 },
1149 { -1, -1 },
1150 { 80, -1 },
1151 { -1, -1 },
1152 { -1, -1 },
1153 { -1, -1 },
1154 { 55, -1 },
1155 { 20, -1 },
1156 { -1, -1 },
1157 { -1, -1 },
1158 { 32, -1 },
1159 { -1, -1 },
1160 { -1, -1 },
1161 { -1, -1 },
1162 { -1, -1 },
1163 { 184, -1 },
1164 { 85, -1 },
1165 { -1, -1 },
1166 { -1, -1 },
1167 { -1, -1 },
1168 { -1, -1 },
1169 { -1, -1 },
1170 { -1, -1 },
1171 { -1, -1 },
1172 { -1, -1 },
1173 { 31, -1 },
1174 { -1, -1 },
1175 { -1, -1 },
1176 { 3, -1 },
1177 { 202, -1 },
1178 { -1, -1 },
1179 { -1, -1 },
1180 { -1, -1 },
1181 { -1, -1 },
1182 { 207, -1 },
1183 { 146, -1 },
1184 { -1, -1 },
1185 { -1, -1 },
1186 { 45, -1 },
1187 { -1, -1 },
1188 { 144, -1 },
1189 { -1, -1 },
1190 { -1, -1 },
1191 { -1, -1 },
1192 { -1, -1 },
1193 { -1, -1 },
1194 { 92, -1 },
1195 { -1, -1 },
1196 { -1, -1 },
1197 { -1, -1 },
1198 { -1, -1 },
1199 { 72, -1 },
1200 { -1, -1 },
1201 { 79, -1 },
1202 { -1, -1 },
1203 { -1, -1 },
1204 { -1, -1 },
1205 { 117, -1 },
1206 { -1, -1 },
1207 { 107, -1 },
1208 { 16, 516 },
1209 { 218, -1 },
1210 { 42, -1 },
1211 { -1, -1 },
1212 { 209, -1 },
1213 { -1, -1 },
1214 { 118, 537 },
1215 { -1, -1 },
1216 { 215, -1 },
1217 { -1, -1 },
1218 { -1, -1 },
1219 { -1, -1 },
1220 { -1, -1 },
1221 { -1, -1 },
1222 { -1, -1 },
1223 { -1, -1 },
1224 { 104, 544 },
1225 { -1, -1 },
1226 { 100, -1 },
1227 { -1, -1 },
1228 { 19, -1 },
1229 { -1, -1 },
1230 { -1, -1 },
1231 { -1, -1 },
1232 { -1, -1 },
1233 { -1, -1 },
1234 { -1, -1 },
1235 { -1, -1 },
1236 { -1, -1 },
1237 { 167, -1 },
1238 { 11, -1 },
1239 { -1, -1 },
1240 { -1, -1 },
1241 { 95, 531 },
1242 { 39, -1 },
1243 { -1, -1 },
1244 { -1, -1 },
1245 { 1, -1 },
1246 { 150, -1 },
1247 { -1, -1 },
1248 { -1, -1 },
1249 { 65, -1 },
1250 { -1, -1 },
1251 { -1, -1 },
1252 { 217, -1 },
1253 { 18, 552 },
1254 { -1, -1 },
1255 { 36, -1 },
1256 { -1, -1 },
1257 { -1, -1 },
1258 { 26, -1 },
1259 { -1, -1 },
1260 { 131, -1 },
1261 { -1, -1 },
1262 { -1, -1 },
1263 { -1, -1 },
1264 { 46, -1 },
1265 { 97, -1 },
1266 { -1, -1 },
1267 { -1, -1 },
1268 { -1, -1 },
1269 { 17, -1 },
1270 { -1, -1 },
1271 { 212, -1 },
1272 { -1, -1 },
1273 { 43, -1 },
1274 { -1, -1 },
1275 { 0, 555 },
1276 { -1, -1 },
1277 { -1, -1 },
1278 { 129, -1 },
1279 { -1, -1 },
1280 { -1, -1 },
1281 { -1, -1 },
1282 { 94, -1 },
1283 { -1, -1 },
1284 { -1, -1 },
1285 { -1, -1 },
1286 { -1, -1 },
1287 { -1, -1 },
1288 { -1, -1 },
1289 { -1, -1 },
1290 { 60, -1 },
1291 { 25, 543 },
1292 { 28, -1 },
1293 { -1, -1 },
1294 { -1, -1 },
1295 { 199, -1 },
1296 { 57, -1 },
1297 { -1, -1 },
1298 { -1, -1 },
1299 { -1, -1 },
1300 { -1, -1 },
1301 { -1, -1 },
1302 { -1, -1 },
1303 { -1, -1 },
1304 { -1, -1 },
1305 { -1, -1 },
1306 { 54, -1 },
1307 { 165, -1 },
1308 { -1, -1 },
1309 { -1, -1 },
1310 { -1, -1 },
1311 { -1, -1 },
1312 { 77, -1 },
1313 { -1, -1 },
1314 { -1, -1 },
1315 { 196, 553 },
1316 { -1, -1 },
1317 { 75, -1 },
1318 { -1, -1 },
1319 { -1, -1 },
1320 { 8, 515 },
1321 { -1, -1 },
1322 { -1, -1 },
1323 { 182, -1 },
1324 { -1, -1 },
1325 { -1, -1 },
1326 { 22, -1 },
1327 { -1, -1 },
1328 { -1, -1 },
1329 { -1, -1 },
1330 { -1, -1 },
1331 { 162, -1 },
1332 { -1, -1 },
1333 { -1, -1 },
1334 { -1, -1 },
1335 { 56, 546 },
1336 { -1, -1 },
1337 { -1, -1 },
1338 { -1, -1 },
1339 { -1, -1 },
1340 { -1, -1 },
1341 { -1, -1 },
1342 { 74, 538 },
1343 { -1, -1 },
1344 { -1, -1 },
1345 { 34, -1 },
1346 { -1, -1 },
1347 { -1, -1 },
1348 { -1, -1 },
1349 { 53, -1 },
1350 { -1, -1 },
1351 { 124, -1 },
1352 { 191, -1 },
1353 { -1, -1 },
1354 { 135, -1 },
1355 { -1, -1 },
1356 { -1, -1 },
1357 { 149, -1 },
1358 { 179, 550 },
1359 { 61, -1 },
1360 { -1, -1 },
1361 { -1, -1 },
1362 { -1, -1 },
1363 { -1, -1 },
1364 { 6, -1 },
1365 { 126, 534 },
1366 { 67, 528 },
1367 { -1, -1 },
1368 { 189, -1 },
1369 { -1, -1 },
1370 { -1, -1 },
1371 { -1, -1 },
1372 { 105, 548 },
1373 { 40, 539 },
1374 { 188, -1 },
1375 { -1, -1 },
1376 { 155, 536 },
1377 { 2, -1 },
1378 { 29, 514 },
1379 { -1, -1 },
1380 { -1, -1 },
1381 { -1, -1 },
1382 { 109, -1 },
1383 { -1, -1 },
1384 { -1, -1 },
1385 { 5, -1 },
1386 { -1, -1 },
1387 { -1, -1 },
1388 { -1, -1 },
1389 { -1, -1 },
1390 { -1, -1 },
1391 { -1, -1 },
1392 { -1, -1 },
1393 { 192, -1 },
1394 { 178, -1 },
1395 { -1, -1 },
1396 { 68, 524 },
1397 { -1, -1 },
1398 { 169, -1 },
1399 { 219, -1 },
1400 { 27, -1 },
1401 { -1, -1 },
1402 { -1, -1 },
1403 { -1, -1 },
1404 { 106, -1 },
1405 { -1, -1 },
1406 { -1, -1 },
1407 { -1, -1 },
1408 { -1, -1 },
1409 { 194, -1 },
1410 { -1, -1 },
1411 { 23, -1 },
1412 { -1, -1 },
1413 { 176, -1 },
1414 { 171, -1 },
1415 { 197, -1 },
1416 { 7, -1 },
1417 { 13, -1 },
1418 { -1, -1 },
1419 { 111, -1 },
1420 { -1, -1 },
1421 { -1, -1 },
1422 { 96, -1 },
1423 { -1, -1 },
1424 { 89, -1 },
1425 { -1, -1 },
1426 { -1, -1 },
1427 { -1, -1 },
1428 { -1, -1 },
1429 { -1, -1 },
1430 { -1, -1 },
1431 { -1, -1 },
1432 { 73, 532 },
1433 { -1, -1 },
1434 { -1, -1 },
1435 { -1, -1 },
1436 { -1, -1 },
1437 { -1, -1 },
1438 { -1, -1 },
1439 { -1, -1 },
1440 { 157, -1 },
1441 { 37, -1 },
1442 { 44, -1 },
1443 { 47, -1 },
1444 { 48, -1 },
1445 { 50, -1 },
1446 { 52, 517 },
1447 { 66, 530 },
1448 { 87, -1 },
1449 { 93, -1 },
1450 { 99, -1 },
1451 { 108, 522 },
1452 { 112, -1 },
1453 { 119, -1 },
1454 { 123, 540 },
1455 { 130, -1 },
1456 { 133, -1 },
1457 { 136, -1 },
1458 { 138, -1 },
1459 { 141, -1 },
1460 { 143, -1 },
1461 { 145, -1 },
1462 { 148, -1 },
1463 { 151, -1 },
1464 { 152, -1 },
1465 { 153, -1 },
1466 { 156, -1 },
1467 { 159, -1 },
1468 { 160, 541 },
1469 { 161, -1 },
1470 { 168, -1 },
1471 { 170, -1 },
1472 { 172, -1 },
1473 { 174, -1 },
1474 { 175, -1 },
1475 { 180, -1 },
1476 { 181, -1 },
1477 { 183, -1 },
1478 { 193, -1 },
1479 { 201, -1 },
1480 { 205, -1 },
1481 { 206, -1 },
1482 { 210, -1 },
1483 { 211, -1 },
1484 { 214, -1 },
1485 { 216, -1 },
1486};
1487
1488
1489static const HashTableValue JSDocumentPrototypeTableValues[] =
1490{
1491 { "constructor", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
1492 { "implementation", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_implementation), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1493 { "URL", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_URL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1494 { "documentURI", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_documentURI), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1495 { "compatMode", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_compatMode), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1496 { "characterSet", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_characterSet), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1497 { "charset", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_charset), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1498 { "inputEncoding", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_inputEncoding), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1499 { "contentType", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_contentType), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1500 { "doctype", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_doctype), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1501 { "documentElement", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMJITAttribute, NoIntrinsic, { (intptr_t)static_cast<const JSC::DOMJIT::GetterSetter*>(&DOMJITAttributeForDocumentDocumentElement), (intptr_t) (nullptr) } },
1502 { "xmlEncoding", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_xmlEncoding), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1503 { "xmlVersion", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_xmlVersion), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_xmlVersion) } },
1504 { "xmlStandalone", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_xmlStandalone), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_xmlStandalone) } },
1505#if ENABLE(PICTURE_IN_PICTURE_API)
1506 { "pictureInPictureEnabled", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_pictureInPictureEnabled), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_pictureInPictureEnabled) } },
1507#else
1508 { 0, 0, NoIntrinsic, { 0, 0 } },
1509#endif
1510 { "timeline", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_timeline), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1511 { "fonts", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_fonts), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1512 { "scrollingElement", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_scrollingElement), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1513#if ENABLE(FULLSCREEN_API)
1514 { "webkitFullscreenEnabled", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_webkitFullscreenEnabled), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_webkitFullscreenEnabled) } },
1515#else
1516 { 0, 0, NoIntrinsic, { 0, 0 } },
1517#endif
1518#if ENABLE(FULLSCREEN_API)
1519 { "webkitFullscreenElement", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_webkitFullscreenElement), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_webkitFullscreenElement) } },
1520#else
1521 { 0, 0, NoIntrinsic, { 0, 0 } },
1522#endif
1523#if ENABLE(FULLSCREEN_API)
1524 { "webkitIsFullScreen", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_webkitIsFullScreen), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_webkitIsFullScreen) } },
1525#else
1526 { 0, 0, NoIntrinsic, { 0, 0 } },
1527#endif
1528#if ENABLE(FULLSCREEN_API)
1529 { "webkitFullScreenKeyboardInputAllowed", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_webkitFullScreenKeyboardInputAllowed), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_webkitFullScreenKeyboardInputAllowed) } },
1530#else
1531 { 0, 0, NoIntrinsic, { 0, 0 } },
1532#endif
1533#if ENABLE(FULLSCREEN_API)
1534 { "webkitCurrentFullScreenElement", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_webkitCurrentFullScreenElement), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_webkitCurrentFullScreenElement) } },
1535#else
1536 { 0, 0, NoIntrinsic, { 0, 0 } },
1537#endif
1538#if ENABLE(FULLSCREEN_API)
1539 { "onwebkitfullscreenchange", JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_onwebkitfullscreenchange), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_onwebkitfullscreenchange) } },
1540#else
1541 { 0, 0, NoIntrinsic, { 0, 0 } },
1542#endif
1543#if ENABLE(FULLSCREEN_API)
1544 { "onwebkitfullscreenerror", JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_onwebkitfullscreenerror), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_onwebkitfullscreenerror) } },
1545#else
1546 { 0, 0, NoIntrinsic, { 0, 0 } },
1547#endif
1548 { "domain", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_domain), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_domain) } },
1549 { "referrer", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_referrer), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1550 { "cookie", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_cookie), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_cookie) } },
1551 { "lastModified", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_lastModified), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1552 { "readyState", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_readyState), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1553 { "title", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_title), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_title) } },
1554 { "dir", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_dir), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_dir) } },
1555 { "body", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMJITAttribute, NoIntrinsic, { (intptr_t)static_cast<const JSC::DOMJIT::GetterSetter*>(&DOMJITAttributeForDocumentBody), (intptr_t) (setJSDocument_body) } },
1556 { "head", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_head), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1557 { "images", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_images), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1558 { "embeds", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_embeds), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1559 { "plugins", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_plugins), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1560 { "links", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_links), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1561 { "forms", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_forms), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1562 { "scripts", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_scripts), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1563 { "currentScript", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_currentScript), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1564 { "defaultView", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_defaultView), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1565 { "designMode", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_designMode), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_designMode) } },
1566 { "onreadystatechange", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onreadystatechange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onreadystatechange) } },
1567 { "fgColor", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_fgColor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_fgColor) } },
1568 { "linkColor", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_linkColor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_linkColor) } },
1569 { "vlinkColor", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_vlinkColor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_vlinkColor) } },
1570 { "alinkColor", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_alinkColor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_alinkColor) } },
1571 { "bgColor", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_bgColor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_bgColor) } },
1572 { "anchors", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_anchors), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1573 { "applets", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_applets), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1574 { "all", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_all), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1575 { "hidden", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_hidden), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1576 { "visibilityState", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_visibilityState), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1577 { "onvisibilitychange", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onvisibilitychange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onvisibilitychange) } },
1578#if ENABLE(POINTER_LOCK)
1579 { "onpointerlockchange", JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onpointerlockchange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onpointerlockchange) } },
1580#else
1581 { 0, 0, NoIntrinsic, { 0, 0 } },
1582#endif
1583#if ENABLE(POINTER_LOCK)
1584 { "onpointerlockerror", JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onpointerlockerror), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onpointerlockerror) } },
1585#else
1586 { 0, 0, NoIntrinsic, { 0, 0 } },
1587#endif
1588 { "undoManager", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_undoManager), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_undoManager) } },
1589 { "oncopy", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_oncopy), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_oncopy) } },
1590 { "oncut", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_oncut), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_oncut) } },
1591 { "onpaste", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onpaste), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onpaste) } },
1592 { "onbeforecopy", JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onbeforecopy), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onbeforecopy) } },
1593 { "onbeforecut", JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onbeforecut), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onbeforecut) } },
1594 { "onbeforeinput", JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onbeforeinput), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onbeforeinput) } },
1595 { "onbeforepaste", JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onbeforepaste), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onbeforepaste) } },
1596 { "activeElement", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_activeElement), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1597#if ENABLE(PICTURE_IN_PICTURE_API)
1598 { "pictureInPictureElement", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_pictureInPictureElement), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_pictureInPictureElement) } },
1599#else
1600 { 0, 0, NoIntrinsic, { 0, 0 } },
1601#endif
1602 { "styleSheets", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_styleSheets), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1603#if ENABLE(POINTER_LOCK)
1604 { "pointerLockElement", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_pointerLockElement), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1605#else
1606 { 0, 0, NoIntrinsic, { 0, 0 } },
1607#endif
1608 { "onabort", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onabort), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onabort) } },
1609 { "onblur", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onblur), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onblur) } },
1610 { "oncanplay", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_oncanplay), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_oncanplay) } },
1611 { "oncanplaythrough", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_oncanplaythrough), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_oncanplaythrough) } },
1612 { "onchange", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onchange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onchange) } },
1613 { "onclick", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onclick), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onclick) } },
1614 { "onclose", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onclose), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onclose) } },
1615 { "oncontextmenu", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_oncontextmenu), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_oncontextmenu) } },
1616 { "oncuechange", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_oncuechange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_oncuechange) } },
1617 { "ondblclick", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_ondblclick), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_ondblclick) } },
1618 { "ondrag", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_ondrag), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_ondrag) } },
1619 { "ondragend", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_ondragend), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_ondragend) } },
1620 { "ondragenter", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_ondragenter), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_ondragenter) } },
1621 { "ondragleave", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_ondragleave), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_ondragleave) } },
1622 { "ondragover", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_ondragover), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_ondragover) } },
1623 { "ondragstart", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_ondragstart), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_ondragstart) } },
1624 { "ondrop", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_ondrop), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_ondrop) } },
1625 { "ondurationchange", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_ondurationchange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_ondurationchange) } },
1626 { "onemptied", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onemptied), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onemptied) } },
1627 { "onended", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onended), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onended) } },
1628 { "onerror", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onerror), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onerror) } },
1629 { "onfocus", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onfocus), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onfocus) } },
1630 { "oninput", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_oninput), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_oninput) } },
1631 { "oninvalid", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_oninvalid), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_oninvalid) } },
1632 { "onkeydown", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onkeydown), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onkeydown) } },
1633 { "onkeypress", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onkeypress), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onkeypress) } },
1634 { "onkeyup", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onkeyup), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onkeyup) } },
1635 { "onload", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onload), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onload) } },
1636 { "onloadeddata", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onloadeddata), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onloadeddata) } },
1637 { "onloadedmetadata", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onloadedmetadata), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onloadedmetadata) } },
1638 { "onloadstart", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onloadstart), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onloadstart) } },
1639 { "onmousedown", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onmousedown), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onmousedown) } },
1640 { "onmouseenter", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onmouseenter), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onmouseenter) } },
1641 { "onmouseleave", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onmouseleave), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onmouseleave) } },
1642 { "onmousemove", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onmousemove), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onmousemove) } },
1643 { "onmouseout", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onmouseout), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onmouseout) } },
1644 { "onmouseover", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onmouseover), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onmouseover) } },
1645 { "onmouseup", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onmouseup), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onmouseup) } },
1646 { "onpause", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onpause), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onpause) } },
1647 { "onplay", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onplay), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onplay) } },
1648 { "onplaying", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onplaying), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onplaying) } },
1649 { "onprogress", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onprogress), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onprogress) } },
1650 { "onratechange", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onratechange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onratechange) } },
1651 { "onreset", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onreset), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onreset) } },
1652 { "onresize", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onresize), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onresize) } },
1653 { "onscroll", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onscroll), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onscroll) } },
1654 { "onseeked", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onseeked), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onseeked) } },
1655 { "onseeking", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onseeking), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onseeking) } },
1656 { "onselect", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onselect), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onselect) } },
1657 { "onslotchange", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onslotchange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onslotchange) } },
1658 { "onstalled", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onstalled), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onstalled) } },
1659 { "onsubmit", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onsubmit), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onsubmit) } },
1660 { "onsuspend", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onsuspend), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onsuspend) } },
1661 { "ontimeupdate", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_ontimeupdate), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_ontimeupdate) } },
1662 { "ontoggle", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_ontoggle), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_ontoggle) } },
1663 { "onvolumechange", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onvolumechange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onvolumechange) } },
1664 { "onwaiting", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onwaiting), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onwaiting) } },
1665 { "onwebkitanimationend", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onwebkitanimationend), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onwebkitanimationend) } },
1666 { "onwebkitanimationiteration", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onwebkitanimationiteration), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onwebkitanimationiteration) } },
1667 { "onwebkitanimationstart", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onwebkitanimationstart), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onwebkitanimationstart) } },
1668 { "onwebkittransitionend", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onwebkittransitionend), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onwebkittransitionend) } },
1669 { "onwheel", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onwheel), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onwheel) } },
1670 { "onmousewheel", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onmousewheel), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onmousewheel) } },
1671 { "onsearch", JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onsearch), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onsearch) } },
1672#if ENABLE(TOUCH_EVENTS)
1673 { "ontouchcancel", JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_ontouchcancel), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_ontouchcancel) } },
1674#else
1675 { 0, 0, NoIntrinsic, { 0, 0 } },
1676#endif
1677#if ENABLE(TOUCH_EVENTS)
1678 { "ontouchend", JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_ontouchend), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_ontouchend) } },
1679#else
1680 { 0, 0, NoIntrinsic, { 0, 0 } },
1681#endif
1682#if ENABLE(TOUCH_EVENTS)
1683 { "ontouchmove", JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_ontouchmove), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_ontouchmove) } },
1684#else
1685 { 0, 0, NoIntrinsic, { 0, 0 } },
1686#endif
1687#if ENABLE(TOUCH_EVENTS)
1688 { "ontouchstart", JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_ontouchstart), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_ontouchstart) } },
1689#else
1690 { 0, 0, NoIntrinsic, { 0, 0 } },
1691#endif
1692#if ENABLE(TOUCH_EVENTS)
1693 { "ontouchforcechange", JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::PropertyCallback, NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_ontouchforcechange), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_ontouchforcechange) } },
1694#else
1695 { 0, 0, NoIntrinsic, { 0, 0 } },
1696#endif
1697#if ENABLE(MOUSE_FORCE_EVENTS)
1698 { "onwebkitmouseforcechanged", JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onwebkitmouseforcechanged), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onwebkitmouseforcechanged) } },
1699#else
1700 { 0, 0, NoIntrinsic, { 0, 0 } },
1701#endif
1702#if ENABLE(MOUSE_FORCE_EVENTS)
1703 { "onwebkitmouseforcedown", JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onwebkitmouseforcedown), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onwebkitmouseforcedown) } },
1704#else
1705 { 0, 0, NoIntrinsic, { 0, 0 } },
1706#endif
1707#if ENABLE(MOUSE_FORCE_EVENTS)
1708 { "onwebkitmouseforcewillbegin", JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onwebkitmouseforcewillbegin), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onwebkitmouseforcewillbegin) } },
1709#else
1710 { 0, 0, NoIntrinsic, { 0, 0 } },
1711#endif
1712#if ENABLE(MOUSE_FORCE_EVENTS)
1713 { "onwebkitmouseforceup", JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onwebkitmouseforceup), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onwebkitmouseforceup) } },
1714#else
1715 { 0, 0, NoIntrinsic, { 0, 0 } },
1716#endif
1717 { "onanimationstart", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onanimationstart), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onanimationstart) } },
1718 { "onanimationiteration", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onanimationiteration), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onanimationiteration) } },
1719 { "onanimationend", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onanimationend), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onanimationend) } },
1720 { "onanimationcancel", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onanimationcancel), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onanimationcancel) } },
1721 { "ontransitionrun", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_ontransitionrun), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_ontransitionrun) } },
1722 { "ontransitionstart", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_ontransitionstart), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_ontransitionstart) } },
1723 { "ontransitionend", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_ontransitionend), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_ontransitionend) } },
1724 { "ontransitioncancel", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_ontransitioncancel), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_ontransitioncancel) } },
1725 { "ongotpointercapture", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_ongotpointercapture), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_ongotpointercapture) } },
1726 { "onlostpointercapture", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onlostpointercapture), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onlostpointercapture) } },
1727 { "onpointerdown", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onpointerdown), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onpointerdown) } },
1728 { "onpointermove", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onpointermove), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onpointermove) } },
1729 { "onpointerup", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onpointerup), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onpointerup) } },
1730 { "onpointercancel", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onpointercancel), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onpointercancel) } },
1731 { "onpointerover", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onpointerover), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onpointerover) } },
1732 { "onpointerout", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onpointerout), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onpointerout) } },
1733 { "onpointerenter", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onpointerenter), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onpointerenter) } },
1734 { "onpointerleave", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onpointerleave), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onpointerleave) } },
1735 { "onselectstart", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onselectstart), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onselectstart) } },
1736 { "onselectionchange", JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_onselectionchange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_onselectionchange) } },
1737 { "children", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_children), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1738 { "firstElementChild", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_firstElementChild), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1739 { "lastElementChild", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_lastElementChild), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1740 { "childElementCount", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_childElementCount), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1741 { "rootElement", JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_rootElement), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(nullptr) } },
1742 { "getElementsByTagName", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_getElementsByTagName), (intptr_t) (1) } },
1743 { "getElementsByTagNameNS", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_getElementsByTagNameNS), (intptr_t) (2) } },
1744 { "getElementsByClassName", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_getElementsByClassName), (intptr_t) (1) } },
1745 { "createElement", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_createElement), (intptr_t) (1) } },
1746 { "createElementNS", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_createElementNS), (intptr_t) (2) } },
1747 { "createDocumentFragment", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_createDocumentFragment), (intptr_t) (0) } },
1748 { "createTextNode", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_createTextNode), (intptr_t) (1) } },
1749 { "createCDATASection", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_createCDATASection), (intptr_t) (1) } },
1750 { "createComment", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_createComment), (intptr_t) (1) } },
1751 { "createProcessingInstruction", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_createProcessingInstruction), (intptr_t) (2) } },
1752 { "importNode", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_importNode), (intptr_t) (1) } },
1753 { "adoptNode", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_adoptNode), (intptr_t) (1) } },
1754 { "createAttribute", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_createAttribute), (intptr_t) (1) } },
1755 { "createAttributeNS", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_createAttributeNS), (intptr_t) (2) } },
1756 { "createEvent", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_createEvent), (intptr_t) (1) } },
1757 { "createRange", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_createRange), (intptr_t) (0) } },
1758 { "createNodeIterator", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_createNodeIterator), (intptr_t) (1) } },
1759 { "createTreeWalker", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_createTreeWalker), (intptr_t) (1) } },
1760 { "getOverrideStyle", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_getOverrideStyle), (intptr_t) (0) } },
1761 { "caretRangeFromPoint", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_caretRangeFromPoint), (intptr_t) (0) } },
1762 { "getCSSCanvasContext", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_getCSSCanvasContext), (intptr_t) (4) } },
1763#if ENABLE(PICTURE_IN_PICTURE_API)
1764 { "exitPictureInPicture", static_cast<unsigned>(JSC::PropertyAttribute::PropertyCallback), NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_exitPictureInPicture), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_exitPictureInPicture) } },
1765#else
1766 { 0, 0, NoIntrinsic, { 0, 0 } },
1767#endif
1768#if ENABLE(FULLSCREEN_API)
1769 { "webkitExitFullscreen", static_cast<unsigned>(JSC::PropertyAttribute::PropertyCallback), NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_webkitExitFullscreen), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_webkitExitFullscreen) } },
1770#else
1771 { 0, 0, NoIntrinsic, { 0, 0 } },
1772#endif
1773#if ENABLE(FULLSCREEN_API)
1774 { "webkitCancelFullScreen", static_cast<unsigned>(JSC::PropertyAttribute::PropertyCallback), NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_webkitCancelFullScreen), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_webkitCancelFullScreen) } },
1775#else
1776 { 0, 0, NoIntrinsic, { 0, 0 } },
1777#endif
1778 { "getElementsByName", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_getElementsByName), (intptr_t) (1) } },
1779 { "open", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_open), (intptr_t) (0) } },
1780 { "close", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_close), (intptr_t) (0) } },
1781 { "write", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_write), (intptr_t) (0) } },
1782 { "writeln", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_writeln), (intptr_t) (0) } },
1783 { "hasFocus", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_hasFocus), (intptr_t) (0) } },
1784 { "execCommand", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_execCommand), (intptr_t) (1) } },
1785 { "queryCommandEnabled", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_queryCommandEnabled), (intptr_t) (1) } },
1786 { "queryCommandIndeterm", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_queryCommandIndeterm), (intptr_t) (1) } },
1787 { "queryCommandState", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_queryCommandState), (intptr_t) (1) } },
1788 { "queryCommandSupported", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_queryCommandSupported), (intptr_t) (1) } },
1789 { "queryCommandValue", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_queryCommandValue), (intptr_t) (1) } },
1790 { "clear", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_clear), (intptr_t) (0) } },
1791 { "captureEvents", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_captureEvents), (intptr_t) (0) } },
1792 { "releaseEvents", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_releaseEvents), (intptr_t) (0) } },
1793#if ENABLE(POINTER_LOCK)
1794 { "exitPointerLock", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_exitPointerLock), (intptr_t) (0) } },
1795#else
1796 { 0, 0, NoIntrinsic, { 0, 0 } },
1797#endif
1798 { "getSelection", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_getSelection), (intptr_t) (0) } },
1799#if ENABLE(RESOURCE_LOAD_STATISTICS)
1800 { "hasStorageAccess", static_cast<unsigned>(JSC::PropertyAttribute::PropertyCallback), NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_hasStorageAccess), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_hasStorageAccess) } },
1801#else
1802 { 0, 0, NoIntrinsic, { 0, 0 } },
1803#endif
1804#if ENABLE(RESOURCE_LOAD_STATISTICS)
1805 { "requestStorageAccess", static_cast<unsigned>(JSC::PropertyAttribute::PropertyCallback), NoIntrinsic, { (intptr_t)static_cast<LazyPropertyCallback>(createJSDocumentPrototype_requestStorageAccess), (intptr_t) static_cast<IsLazyPropertyEnabledCallback>(isEnabledJSDocumentPrototype_requestStorageAccess) } },
1806#else
1807 { 0, 0, NoIntrinsic, { 0, 0 } },
1808#endif
1809 { "elementFromPoint", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_elementFromPoint), (intptr_t) (2) } },
1810 { "elementsFromPoint", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_elementsFromPoint), (intptr_t) (2) } },
1811 { "getAnimations", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_getAnimations), (intptr_t) (0) } },
1812 { "getElementById", JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction, NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_getElementById), (intptr_t) static_cast<const JSC::DOMJIT::Signature*>(&DOMJITSignatureForDocumentGetElementById) } },
1813 { "prepend", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_prepend), (intptr_t) (0) } },
1814 { "append", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_append), (intptr_t) (0) } },
1815 { "replaceChildren", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_replaceChildren), (intptr_t) (0) } },
1816 { "querySelector", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_querySelector), (intptr_t) (1) } },
1817 { "querySelectorAll", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_querySelectorAll), (intptr_t) (1) } },
1818 { "createExpression", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_createExpression), (intptr_t) (1) } },
1819 { "createNSResolver", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_createNSResolver), (intptr_t) (1) } },
1820 { "evaluate", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunction_evaluate), (intptr_t) (2) } },
1821};
1822
1823static const HashTable JSDocumentPrototypeTable = { 222, 511, true, JSDocument::info(), JSDocumentPrototypeTableValues, JSDocumentPrototypeTableIndex };
1824const ClassInfo JSDocumentPrototype::s_info = { "Document", &Base::s_info, &JSDocumentPrototypeTable, nullptr, CREATE_METHOD_TABLE(JSDocumentPrototype) };
1825
1826void JSDocumentPrototype::finishCreation(VM& vm)
1827{
1828 Base::finishCreation(vm);
1829 reifyStaticProperties(vm, JSDocument::info(), JSDocumentPrototypeTableValues, *this);
1830 JSObject& unscopables = *constructEmptyObject(globalObject()->vm(), globalObject()->nullPrototypeObjectStructure());
1831 unscopables.putDirect(vm, Identifier::fromString(vm, "prepend"), jsBoolean(true));
1832 unscopables.putDirect(vm, Identifier::fromString(vm, "append"), jsBoolean(true));
1833 unscopables.putDirect(vm, Identifier::fromString(vm, "replaceChildren"), jsBoolean(true));
1834 putDirectWithoutTransition(vm, vm.propertyNames->unscopablesSymbol, &unscopables, JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::ReadOnly);
1835 JSC_TO_STRING_TAG_WITHOUT_TRANSITION();
1836}
1837
1838/* Hash table for Instance */
1839
1840static const struct CompactHashIndex JSDocumentInstanceTableIndex[2] = {
1841 { 0, -1 },
1842 { -1, -1 },
1843};
1844
1845
1846static const HashTableValue JSDocumentInstanceTableValues[] =
1847{
1848 { "location", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocument_location), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocument_location) } },
1849};
1850
1851static const HashTable JSDocumentInstanceTable = { 1, 1, true, JSDocument::info(), JSDocumentInstanceTableValues, JSDocumentInstanceTableIndex };
1852const ClassInfo JSDocument::s_info = { "Document", &Base::s_info, &JSDocumentInstanceTable
1853#if ENABLE(JIT)
1854, &checkSubClassSnippetForJSDocument
1855#else
1856, nullptr
1857#endif
1858, CREATE_METHOD_TABLE(JSDocument) };
1859
1860JSDocument::JSDocument(Structure* structure, JSDOMGlobalObject& globalObject, Ref<Document>&& impl)
1861 : JSNode(structure, globalObject, WTFMove(impl))
1862{
1863}
1864
1865void JSDocument::finishCreation(VM& vm)
1866{
1867 Base::finishCreation(vm);
1868 ASSERT(inherits(vm, info()));
1869
1870}
1871
1872JSObject* JSDocument::createPrototype(VM& vm, JSDOMGlobalObject& globalObject)
1873{
1874 return JSDocumentPrototype::create(vm, &globalObject, JSDocumentPrototype::createStructure(vm, &globalObject, JSNode::prototype(vm, globalObject)));
1875}
1876
1877JSObject* JSDocument::prototype(VM& vm, JSDOMGlobalObject& globalObject)
1878{
1879 return getDOMPrototype<JSDocument>(vm, globalObject);
1880}
1881
1882JSValue JSDocument::getConstructor(VM& vm, const JSGlobalObject* globalObject)
1883{
1884 return getDOMConstructor<JSDocumentDOMConstructor, DOMConstructorID::Document>(vm, *jsCast<const JSDOMGlobalObject*>(globalObject));
1885}
1886
1887JSC_DEFINE_CUSTOM_GETTER(jsDocumentConstructor, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName))
1888{
1889 VM& vm = JSC::getVM(lexicalGlobalObject);
1890 auto throwScope = DECLARE_THROW_SCOPE(vm);
1891 auto* prototype = jsDynamicCast<JSDocumentPrototype*>(vm, JSValue::decode(thisValue));
1892 if (UNLIKELY(!prototype))
1893 return throwVMTypeError(lexicalGlobalObject, throwScope);
1894 return JSValue::encode(JSDocument::getConstructor(JSC::getVM(lexicalGlobalObject), prototype->globalObject()));
1895}
1896
1897static inline JSValue jsDocument_implementationGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
1898{
1899 auto& vm = JSC::getVM(&lexicalGlobalObject);
1900 auto throwScope = DECLARE_THROW_SCOPE(vm);
1901 auto& impl = thisObject.wrapped();
1902 RELEASE_AND_RETURN(throwScope, (toJS<IDLInterface<DOMImplementation>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.implementation())));
1903}
1904
1905JSC_DEFINE_CUSTOM_GETTER(jsDocument_implementation, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
1906{
1907 return IDLAttribute<JSDocument>::get<jsDocument_implementationGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
1908}
1909
1910static inline JSValue jsDocument_URLGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
1911{
1912 auto& vm = JSC::getVM(&lexicalGlobalObject);
1913 auto throwScope = DECLARE_THROW_SCOPE(vm);
1914 auto& impl = thisObject.wrapped();
1915 RELEASE_AND_RETURN(throwScope, (toJS<IDLUSVString>(lexicalGlobalObject, throwScope, impl.urlForBindings())));
1916}
1917
1918JSC_DEFINE_CUSTOM_GETTER(jsDocument_URL, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
1919{
1920 return IDLAttribute<JSDocument>::get<jsDocument_URLGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
1921}
1922
1923static inline JSValue jsDocument_documentURIGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
1924{
1925 auto& vm = JSC::getVM(&lexicalGlobalObject);
1926 auto throwScope = DECLARE_THROW_SCOPE(vm);
1927 auto& impl = thisObject.wrapped();
1928 RELEASE_AND_RETURN(throwScope, (toJS<IDLUSVString>(lexicalGlobalObject, throwScope, impl.urlForBindings())));
1929}
1930
1931JSC_DEFINE_CUSTOM_GETTER(jsDocument_documentURI, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
1932{
1933 return IDLAttribute<JSDocument>::get<jsDocument_documentURIGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
1934}
1935
1936static inline JSValue jsDocument_compatModeGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
1937{
1938 auto& vm = JSC::getVM(&lexicalGlobalObject);
1939 auto throwScope = DECLARE_THROW_SCOPE(vm);
1940 auto& impl = thisObject.wrapped();
1941 RELEASE_AND_RETURN(throwScope, (toJS<IDLDOMString>(lexicalGlobalObject, throwScope, impl.compatMode())));
1942}
1943
1944JSC_DEFINE_CUSTOM_GETTER(jsDocument_compatMode, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
1945{
1946 return IDLAttribute<JSDocument>::get<jsDocument_compatModeGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
1947}
1948
1949static inline JSValue jsDocument_characterSetGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
1950{
1951 auto& vm = JSC::getVM(&lexicalGlobalObject);
1952 auto throwScope = DECLARE_THROW_SCOPE(vm);
1953 auto& impl = thisObject.wrapped();
1954 RELEASE_AND_RETURN(throwScope, (toJS<IDLDOMString>(lexicalGlobalObject, throwScope, impl.characterSetWithUTF8Fallback())));
1955}
1956
1957JSC_DEFINE_CUSTOM_GETTER(jsDocument_characterSet, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
1958{
1959 return IDLAttribute<JSDocument>::get<jsDocument_characterSetGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
1960}
1961
1962static inline JSValue jsDocument_charsetGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
1963{
1964 auto& vm = JSC::getVM(&lexicalGlobalObject);
1965 auto throwScope = DECLARE_THROW_SCOPE(vm);
1966 auto& impl = thisObject.wrapped();
1967 RELEASE_AND_RETURN(throwScope, (toJS<IDLDOMString>(lexicalGlobalObject, throwScope, impl.characterSetWithUTF8Fallback())));
1968}
1969
1970JSC_DEFINE_CUSTOM_GETTER(jsDocument_charset, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
1971{
1972 return IDLAttribute<JSDocument>::get<jsDocument_charsetGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
1973}
1974
1975static inline JSValue jsDocument_inputEncodingGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
1976{
1977 auto& vm = JSC::getVM(&lexicalGlobalObject);
1978 auto throwScope = DECLARE_THROW_SCOPE(vm);
1979 auto& impl = thisObject.wrapped();
1980 RELEASE_AND_RETURN(throwScope, (toJS<IDLDOMString>(lexicalGlobalObject, throwScope, impl.characterSetWithUTF8Fallback())));
1981}
1982
1983JSC_DEFINE_CUSTOM_GETTER(jsDocument_inputEncoding, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
1984{
1985 return IDLAttribute<JSDocument>::get<jsDocument_inputEncodingGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
1986}
1987
1988static inline JSValue jsDocument_contentTypeGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
1989{
1990 auto& vm = JSC::getVM(&lexicalGlobalObject);
1991 auto throwScope = DECLARE_THROW_SCOPE(vm);
1992 auto& impl = thisObject.wrapped();
1993 RELEASE_AND_RETURN(throwScope, (toJS<IDLDOMString>(lexicalGlobalObject, throwScope, impl.contentType())));
1994}
1995
1996JSC_DEFINE_CUSTOM_GETTER(jsDocument_contentType, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
1997{
1998 return IDLAttribute<JSDocument>::get<jsDocument_contentTypeGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
1999}
2000
2001static inline JSValue jsDocument_doctypeGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2002{
2003 auto& vm = JSC::getVM(&lexicalGlobalObject);
2004 auto throwScope = DECLARE_THROW_SCOPE(vm);
2005 auto& impl = thisObject.wrapped();
2006 RELEASE_AND_RETURN(throwScope, (toJS<IDLNullable<IDLInterface<DocumentType>>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.doctype())));
2007}
2008
2009JSC_DEFINE_CUSTOM_GETTER(jsDocument_doctype, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2010{
2011 return IDLAttribute<JSDocument>::get<jsDocument_doctypeGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2012}
2013
2014static inline JSValue jsDocument_documentElementGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2015{
2016 auto& vm = JSC::getVM(&lexicalGlobalObject);
2017 auto throwScope = DECLARE_THROW_SCOPE(vm);
2018 auto& impl = thisObject.wrapped();
2019 RELEASE_AND_RETURN(throwScope, (toJS<IDLNullable<IDLInterface<Element>>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.documentElement())));
2020}
2021
2022JSC_DEFINE_CUSTOM_GETTER(jsDocument_documentElement, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2023{
2024 return IDLAttribute<JSDocument>::get<jsDocument_documentElementGetter>(*lexicalGlobalObject, thisValue, attributeName);
2025}
2026
2027static inline JSValue jsDocument_xmlEncodingGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2028{
2029 auto& vm = JSC::getVM(&lexicalGlobalObject);
2030 auto throwScope = DECLARE_THROW_SCOPE(vm);
2031 auto& impl = thisObject.wrapped();
2032 RELEASE_AND_RETURN(throwScope, (toJS<IDLNullable<IDLDOMString>>(lexicalGlobalObject, throwScope, impl.xmlEncoding())));
2033}
2034
2035JSC_DEFINE_CUSTOM_GETTER(jsDocument_xmlEncoding, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2036{
2037 return IDLAttribute<JSDocument>::get<jsDocument_xmlEncodingGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2038}
2039
2040static inline JSValue jsDocument_xmlVersionGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2041{
2042 auto& vm = JSC::getVM(&lexicalGlobalObject);
2043 auto throwScope = DECLARE_THROW_SCOPE(vm);
2044 auto& impl = thisObject.wrapped();
2045 RELEASE_AND_RETURN(throwScope, (toJS<IDLNullable<IDLDOMString>>(lexicalGlobalObject, throwScope, impl.xmlVersion())));
2046}
2047
2048JSC_DEFINE_CUSTOM_GETTER(jsDocument_xmlVersion, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2049{
2050 return IDLAttribute<JSDocument>::get<jsDocument_xmlVersionGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2051}
2052
2053static inline bool setJSDocument_xmlVersionSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2054{
2055 auto& vm = JSC::getVM(&lexicalGlobalObject);
2056 auto throwScope = DECLARE_THROW_SCOPE(vm);
2057 auto& impl = thisObject.wrapped();
2058 auto nativeValue = convert<IDLNullable<IDLDOMString>>(lexicalGlobalObject, value);
2059 RETURN_IF_EXCEPTION(throwScope, false);
2060 invokeFunctorPropagatingExceptionIfNecessary(lexicalGlobalObject, throwScope, [&] {
2061 return impl.setXMLVersion(WTFMove(nativeValue));
2062 });
2063 return true;
2064}
2065
2066JSC_DEFINE_CUSTOM_SETTER(setJSDocument_xmlVersion, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2067{
2068 return IDLAttribute<JSDocument>::set<setJSDocument_xmlVersionSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2069}
2070
2071static inline JSValue jsDocument_xmlStandaloneGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2072{
2073 auto& vm = JSC::getVM(&lexicalGlobalObject);
2074 auto throwScope = DECLARE_THROW_SCOPE(vm);
2075 auto& impl = thisObject.wrapped();
2076 RELEASE_AND_RETURN(throwScope, (toJS<IDLBoolean>(lexicalGlobalObject, throwScope, impl.xmlStandalone())));
2077}
2078
2079JSC_DEFINE_CUSTOM_GETTER(jsDocument_xmlStandalone, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2080{
2081 return IDLAttribute<JSDocument>::get<jsDocument_xmlStandaloneGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2082}
2083
2084static inline bool setJSDocument_xmlStandaloneSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2085{
2086 auto& vm = JSC::getVM(&lexicalGlobalObject);
2087 auto throwScope = DECLARE_THROW_SCOPE(vm);
2088 auto& impl = thisObject.wrapped();
2089 auto nativeValue = convert<IDLBoolean>(lexicalGlobalObject, value);
2090 RETURN_IF_EXCEPTION(throwScope, false);
2091 invokeFunctorPropagatingExceptionIfNecessary(lexicalGlobalObject, throwScope, [&] {
2092 return impl.setXMLStandalone(WTFMove(nativeValue));
2093 });
2094 return true;
2095}
2096
2097JSC_DEFINE_CUSTOM_SETTER(setJSDocument_xmlStandalone, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2098{
2099 return IDLAttribute<JSDocument>::set<setJSDocument_xmlStandaloneSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2100}
2101
2102#if ENABLE(PICTURE_IN_PICTURE_API)
2103static inline JSValue jsDocument_pictureInPictureEnabledGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2104{
2105 auto& vm = JSC::getVM(&lexicalGlobalObject);
2106 auto throwScope = DECLARE_THROW_SCOPE(vm);
2107 auto& impl = thisObject.wrapped();
2108 RELEASE_AND_RETURN(throwScope, (toJS<IDLBoolean>(lexicalGlobalObject, throwScope, WebCore::DocumentPictureInPicture::pictureInPictureEnabled(impl))));
2109}
2110
2111JSC_DEFINE_CUSTOM_GETTER(jsDocument_pictureInPictureEnabled, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2112{
2113 return IDLAttribute<JSDocument>::get<jsDocument_pictureInPictureEnabledGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2114}
2115
2116#endif
2117
2118static inline JSValue jsDocument_timelineGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2119{
2120 auto& vm = JSC::getVM(&lexicalGlobalObject);
2121 auto throwScope = DECLARE_THROW_SCOPE(vm);
2122 auto& impl = thisObject.wrapped();
2123 RELEASE_AND_RETURN(throwScope, (toJS<IDLInterface<DocumentTimeline>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.timeline())));
2124}
2125
2126JSC_DEFINE_CUSTOM_GETTER(jsDocument_timeline, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2127{
2128 return IDLAttribute<JSDocument>::get<jsDocument_timelineGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2129}
2130
2131static inline JSValue jsDocument_fontsGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2132{
2133 auto& vm = JSC::getVM(&lexicalGlobalObject);
2134 auto throwScope = DECLARE_THROW_SCOPE(vm);
2135 auto& impl = thisObject.wrapped();
2136 RELEASE_AND_RETURN(throwScope, (toJS<IDLInterface<FontFaceSet>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.fonts())));
2137}
2138
2139JSC_DEFINE_CUSTOM_GETTER(jsDocument_fonts, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2140{
2141 return IDLAttribute<JSDocument>::get<jsDocument_fontsGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2142}
2143
2144static inline JSValue jsDocument_scrollingElementGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2145{
2146 auto& vm = JSC::getVM(&lexicalGlobalObject);
2147 auto throwScope = DECLARE_THROW_SCOPE(vm);
2148 auto& impl = thisObject.wrapped();
2149 RELEASE_AND_RETURN(throwScope, (toJS<IDLNullable<IDLInterface<Element>>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.scrollingElementForAPI())));
2150}
2151
2152JSC_DEFINE_CUSTOM_GETTER(jsDocument_scrollingElement, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2153{
2154 return IDLAttribute<JSDocument>::get<jsDocument_scrollingElementGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2155}
2156
2157#if ENABLE(FULLSCREEN_API)
2158static inline JSValue jsDocument_webkitFullscreenEnabledGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2159{
2160 auto& vm = JSC::getVM(&lexicalGlobalObject);
2161 auto throwScope = DECLARE_THROW_SCOPE(vm);
2162 auto& impl = thisObject.wrapped();
2163 RELEASE_AND_RETURN(throwScope, (toJS<IDLBoolean>(lexicalGlobalObject, throwScope, WebCore::DocumentFullscreen::webkitFullscreenEnabled(impl))));
2164}
2165
2166JSC_DEFINE_CUSTOM_GETTER(jsDocument_webkitFullscreenEnabled, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2167{
2168 return IDLAttribute<JSDocument>::get<jsDocument_webkitFullscreenEnabledGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2169}
2170
2171#endif
2172
2173#if ENABLE(FULLSCREEN_API)
2174static inline JSValue jsDocument_webkitFullscreenElementGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2175{
2176 auto& vm = JSC::getVM(&lexicalGlobalObject);
2177 auto throwScope = DECLARE_THROW_SCOPE(vm);
2178 auto& impl = thisObject.wrapped();
2179 RELEASE_AND_RETURN(throwScope, (toJS<IDLNullable<IDLInterface<Element>>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, WebCore::DocumentFullscreen::webkitFullscreenElement(impl))));
2180}
2181
2182JSC_DEFINE_CUSTOM_GETTER(jsDocument_webkitFullscreenElement, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2183{
2184 return IDLAttribute<JSDocument>::get<jsDocument_webkitFullscreenElementGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2185}
2186
2187#endif
2188
2189#if ENABLE(FULLSCREEN_API)
2190static inline JSValue jsDocument_webkitIsFullScreenGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2191{
2192 auto& vm = JSC::getVM(&lexicalGlobalObject);
2193 auto throwScope = DECLARE_THROW_SCOPE(vm);
2194 auto& impl = thisObject.wrapped();
2195 RELEASE_AND_RETURN(throwScope, (toJS<IDLBoolean>(lexicalGlobalObject, throwScope, WebCore::DocumentFullscreen::webkitIsFullScreen(impl))));
2196}
2197
2198JSC_DEFINE_CUSTOM_GETTER(jsDocument_webkitIsFullScreen, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2199{
2200 return IDLAttribute<JSDocument>::get<jsDocument_webkitIsFullScreenGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2201}
2202
2203#endif
2204
2205#if ENABLE(FULLSCREEN_API)
2206static inline JSValue jsDocument_webkitFullScreenKeyboardInputAllowedGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2207{
2208 auto& vm = JSC::getVM(&lexicalGlobalObject);
2209 auto throwScope = DECLARE_THROW_SCOPE(vm);
2210 auto& impl = thisObject.wrapped();
2211 RELEASE_AND_RETURN(throwScope, (toJS<IDLBoolean>(lexicalGlobalObject, throwScope, WebCore::DocumentFullscreen::webkitFullScreenKeyboardInputAllowed(impl))));
2212}
2213
2214JSC_DEFINE_CUSTOM_GETTER(jsDocument_webkitFullScreenKeyboardInputAllowed, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2215{
2216 return IDLAttribute<JSDocument>::get<jsDocument_webkitFullScreenKeyboardInputAllowedGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2217}
2218
2219#endif
2220
2221#if ENABLE(FULLSCREEN_API)
2222static inline JSValue jsDocument_webkitCurrentFullScreenElementGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2223{
2224 auto& vm = JSC::getVM(&lexicalGlobalObject);
2225 auto throwScope = DECLARE_THROW_SCOPE(vm);
2226 auto& impl = thisObject.wrapped();
2227 RELEASE_AND_RETURN(throwScope, (toJS<IDLInterface<Element>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, WebCore::DocumentFullscreen::webkitCurrentFullScreenElement(impl))));
2228}
2229
2230JSC_DEFINE_CUSTOM_GETTER(jsDocument_webkitCurrentFullScreenElement, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2231{
2232 return IDLAttribute<JSDocument>::get<jsDocument_webkitCurrentFullScreenElementGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2233}
2234
2235#endif
2236
2237#if ENABLE(FULLSCREEN_API)
2238static inline JSValue jsDocument_onwebkitfullscreenchangeGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2239{
2240 UNUSED_PARAM(lexicalGlobalObject);
2241 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitfullscreenchangeEvent, worldForDOMObject(thisObject));
2242}
2243
2244JSC_DEFINE_CUSTOM_GETTER(jsDocument_onwebkitfullscreenchange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2245{
2246 return IDLAttribute<JSDocument>::get<jsDocument_onwebkitfullscreenchangeGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2247}
2248
2249#endif
2250
2251#if ENABLE(FULLSCREEN_API)
2252static inline bool setJSDocument_onwebkitfullscreenchangeSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2253{
2254 auto& vm = JSC::getVM(&lexicalGlobalObject);
2255 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().webkitfullscreenchangeEvent, value);
2256 vm.heap.writeBarrier(&thisObject, value);
2257 ensureStillAliveHere(value);
2258
2259 return true;
2260}
2261
2262JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onwebkitfullscreenchange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2263{
2264 return IDLAttribute<JSDocument>::set<setJSDocument_onwebkitfullscreenchangeSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2265}
2266
2267#endif
2268
2269#if ENABLE(FULLSCREEN_API)
2270static inline JSValue jsDocument_onwebkitfullscreenerrorGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2271{
2272 UNUSED_PARAM(lexicalGlobalObject);
2273 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitfullscreenerrorEvent, worldForDOMObject(thisObject));
2274}
2275
2276JSC_DEFINE_CUSTOM_GETTER(jsDocument_onwebkitfullscreenerror, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2277{
2278 return IDLAttribute<JSDocument>::get<jsDocument_onwebkitfullscreenerrorGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2279}
2280
2281#endif
2282
2283#if ENABLE(FULLSCREEN_API)
2284static inline bool setJSDocument_onwebkitfullscreenerrorSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2285{
2286 auto& vm = JSC::getVM(&lexicalGlobalObject);
2287 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().webkitfullscreenerrorEvent, value);
2288 vm.heap.writeBarrier(&thisObject, value);
2289 ensureStillAliveHere(value);
2290
2291 return true;
2292}
2293
2294JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onwebkitfullscreenerror, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2295{
2296 return IDLAttribute<JSDocument>::set<setJSDocument_onwebkitfullscreenerrorSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2297}
2298
2299#endif
2300
2301static inline JSValue jsDocument_locationGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2302{
2303 auto& vm = JSC::getVM(&lexicalGlobalObject);
2304 auto throwScope = DECLARE_THROW_SCOPE(vm);
2305 auto& impl = thisObject.wrapped();
2306 RELEASE_AND_RETURN(throwScope, (toJS<IDLNullable<IDLInterface<Location>>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.location())));
2307}
2308
2309JSC_DEFINE_CUSTOM_GETTER(jsDocument_location, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2310{
2311 return IDLAttribute<JSDocument>::get<jsDocument_locationGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2312}
2313
2314static inline bool setJSDocument_locationSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2315{
2316 auto& vm = JSC::getVM(&lexicalGlobalObject);
2317 auto throwScope = DECLARE_THROW_SCOPE(vm);
2318 auto id = Identifier::fromString(vm, reinterpret_cast<const LChar*>("location"), strlen("location"));
2319 auto valueToForwardTo = thisObject.get(&lexicalGlobalObject, id);
2320 RETURN_IF_EXCEPTION(throwScope, false);
2321 if (UNLIKELY(!valueToForwardTo.isObject())) {
2322 throwTypeError(&lexicalGlobalObject, throwScope);
2323 return false;
2324 }
2325 auto forwardId = Identifier::fromString(vm, reinterpret_cast<const LChar*>("href"), strlen("href"));
2326 PutPropertySlot slot(valueToForwardTo, false);
2327 asObject(valueToForwardTo)->methodTable(vm)->put(asObject(valueToForwardTo), &lexicalGlobalObject, forwardId, value, slot);
2328 RETURN_IF_EXCEPTION(throwScope, false);
2329 return true;
2330}
2331
2332JSC_DEFINE_CUSTOM_SETTER(setJSDocument_location, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2333{
2334 return IDLAttribute<JSDocument>::set<setJSDocument_locationSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2335}
2336
2337static inline JSValue jsDocument_domainGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2338{
2339 auto& vm = JSC::getVM(&lexicalGlobalObject);
2340 auto throwScope = DECLARE_THROW_SCOPE(vm);
2341 auto& impl = thisObject.wrapped();
2342 RELEASE_AND_RETURN(throwScope, (toJS<IDLUSVString>(lexicalGlobalObject, throwScope, impl.domain())));
2343}
2344
2345JSC_DEFINE_CUSTOM_GETTER(jsDocument_domain, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2346{
2347 return IDLAttribute<JSDocument>::get<jsDocument_domainGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2348}
2349
2350static inline bool setJSDocument_domainSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2351{
2352 auto& vm = JSC::getVM(&lexicalGlobalObject);
2353 auto throwScope = DECLARE_THROW_SCOPE(vm);
2354 auto& impl = thisObject.wrapped();
2355 auto nativeValue = convert<IDLUSVString>(lexicalGlobalObject, value);
2356 RETURN_IF_EXCEPTION(throwScope, false);
2357 invokeFunctorPropagatingExceptionIfNecessary(lexicalGlobalObject, throwScope, [&] {
2358 return impl.setDomain(WTFMove(nativeValue));
2359 });
2360 return true;
2361}
2362
2363JSC_DEFINE_CUSTOM_SETTER(setJSDocument_domain, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2364{
2365 return IDLAttribute<JSDocument>::set<setJSDocument_domainSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2366}
2367
2368static inline JSValue jsDocument_referrerGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2369{
2370 auto& vm = JSC::getVM(&lexicalGlobalObject);
2371 auto throwScope = DECLARE_THROW_SCOPE(vm);
2372 auto& impl = thisObject.wrapped();
2373 RELEASE_AND_RETURN(throwScope, (toJS<IDLUSVString>(lexicalGlobalObject, throwScope, impl.referrer())));
2374}
2375
2376JSC_DEFINE_CUSTOM_GETTER(jsDocument_referrer, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2377{
2378 return IDLAttribute<JSDocument>::get<jsDocument_referrerGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2379}
2380
2381static inline JSValue jsDocument_cookieGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2382{
2383 auto& vm = JSC::getVM(&lexicalGlobalObject);
2384 auto throwScope = DECLARE_THROW_SCOPE(vm);
2385 auto& impl = thisObject.wrapped();
2386 RELEASE_AND_RETURN(throwScope, (toJS<IDLUSVString>(lexicalGlobalObject, throwScope, impl.cookie())));
2387}
2388
2389JSC_DEFINE_CUSTOM_GETTER(jsDocument_cookie, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2390{
2391 return IDLAttribute<JSDocument>::get<jsDocument_cookieGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2392}
2393
2394static inline bool setJSDocument_cookieSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2395{
2396 auto& vm = JSC::getVM(&lexicalGlobalObject);
2397 auto throwScope = DECLARE_THROW_SCOPE(vm);
2398 auto& impl = thisObject.wrapped();
2399 auto nativeValue = convert<IDLUSVString>(lexicalGlobalObject, value);
2400 RETURN_IF_EXCEPTION(throwScope, false);
2401 invokeFunctorPropagatingExceptionIfNecessary(lexicalGlobalObject, throwScope, [&] {
2402 return impl.setCookie(WTFMove(nativeValue));
2403 });
2404 return true;
2405}
2406
2407JSC_DEFINE_CUSTOM_SETTER(setJSDocument_cookie, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2408{
2409 return IDLAttribute<JSDocument>::set<setJSDocument_cookieSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2410}
2411
2412static inline JSValue jsDocument_lastModifiedGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2413{
2414 auto& vm = JSC::getVM(&lexicalGlobalObject);
2415 auto throwScope = DECLARE_THROW_SCOPE(vm);
2416 auto& impl = thisObject.wrapped();
2417 RELEASE_AND_RETURN(throwScope, (toJS<IDLDOMString>(lexicalGlobalObject, throwScope, impl.lastModified())));
2418}
2419
2420JSC_DEFINE_CUSTOM_GETTER(jsDocument_lastModified, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2421{
2422 return IDLAttribute<JSDocument>::get<jsDocument_lastModifiedGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2423}
2424
2425static inline JSValue jsDocument_readyStateGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2426{
2427 auto& vm = JSC::getVM(&lexicalGlobalObject);
2428 auto throwScope = DECLARE_THROW_SCOPE(vm);
2429 auto& impl = thisObject.wrapped();
2430 RELEASE_AND_RETURN(throwScope, (toJS<IDLEnumeration<Document::ReadyState>>(lexicalGlobalObject, throwScope, impl.readyState())));
2431}
2432
2433JSC_DEFINE_CUSTOM_GETTER(jsDocument_readyState, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2434{
2435 return IDLAttribute<JSDocument>::get<jsDocument_readyStateGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2436}
2437
2438static inline JSValue jsDocument_titleGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2439{
2440 auto& vm = JSC::getVM(&lexicalGlobalObject);
2441 auto throwScope = DECLARE_THROW_SCOPE(vm);
2442 auto& impl = thisObject.wrapped();
2443 RELEASE_AND_RETURN(throwScope, (toJS<IDLDOMString>(lexicalGlobalObject, throwScope, impl.title())));
2444}
2445
2446JSC_DEFINE_CUSTOM_GETTER(jsDocument_title, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2447{
2448 return IDLAttribute<JSDocument>::get<jsDocument_titleGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2449}
2450
2451static inline bool setJSDocument_titleSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2452{
2453 auto& vm = JSC::getVM(&lexicalGlobalObject);
2454 auto throwScope = DECLARE_THROW_SCOPE(vm);
2455 CustomElementReactionStack customElementReactionStack(lexicalGlobalObject);
2456 auto& impl = thisObject.wrapped();
2457 auto nativeValue = convert<IDLDOMString>(lexicalGlobalObject, value);
2458 RETURN_IF_EXCEPTION(throwScope, false);
2459 invokeFunctorPropagatingExceptionIfNecessary(lexicalGlobalObject, throwScope, [&] {
2460 return impl.setTitle(WTFMove(nativeValue));
2461 });
2462 return true;
2463}
2464
2465JSC_DEFINE_CUSTOM_SETTER(setJSDocument_title, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2466{
2467 return IDLAttribute<JSDocument>::set<setJSDocument_titleSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2468}
2469
2470static inline JSValue jsDocument_dirGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2471{
2472 auto& vm = JSC::getVM(&lexicalGlobalObject);
2473 auto throwScope = DECLARE_THROW_SCOPE(vm);
2474 auto& impl = thisObject.wrapped();
2475 RELEASE_AND_RETURN(throwScope, (toJS<IDLDOMString>(lexicalGlobalObject, throwScope, impl.dir())));
2476}
2477
2478JSC_DEFINE_CUSTOM_GETTER(jsDocument_dir, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2479{
2480 return IDLAttribute<JSDocument>::get<jsDocument_dirGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2481}
2482
2483static inline bool setJSDocument_dirSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2484{
2485 auto& vm = JSC::getVM(&lexicalGlobalObject);
2486 auto throwScope = DECLARE_THROW_SCOPE(vm);
2487 CustomElementReactionStack customElementReactionStack(lexicalGlobalObject);
2488 auto& impl = thisObject.wrapped();
2489 auto nativeValue = convert<IDLDOMString>(lexicalGlobalObject, value);
2490 RETURN_IF_EXCEPTION(throwScope, false);
2491 invokeFunctorPropagatingExceptionIfNecessary(lexicalGlobalObject, throwScope, [&] {
2492 return impl.setDir(WTFMove(nativeValue));
2493 });
2494 return true;
2495}
2496
2497JSC_DEFINE_CUSTOM_SETTER(setJSDocument_dir, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2498{
2499 return IDLAttribute<JSDocument>::set<setJSDocument_dirSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2500}
2501
2502static inline JSValue jsDocument_bodyGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2503{
2504 auto& vm = JSC::getVM(&lexicalGlobalObject);
2505 auto throwScope = DECLARE_THROW_SCOPE(vm);
2506 auto& impl = thisObject.wrapped();
2507 RELEASE_AND_RETURN(throwScope, (toJS<IDLNullable<IDLInterface<HTMLElement>>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.bodyOrFrameset())));
2508}
2509
2510JSC_DEFINE_CUSTOM_GETTER(jsDocument_body, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2511{
2512 return IDLAttribute<JSDocument>::get<jsDocument_bodyGetter>(*lexicalGlobalObject, thisValue, attributeName);
2513}
2514
2515static inline bool setJSDocument_bodySetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2516{
2517 auto& vm = JSC::getVM(&lexicalGlobalObject);
2518 auto throwScope = DECLARE_THROW_SCOPE(vm);
2519 CustomElementReactionStack customElementReactionStack(lexicalGlobalObject);
2520 auto& impl = thisObject.wrapped();
2521 auto nativeValue = convert<IDLNullable<IDLInterface<HTMLElement>>>(lexicalGlobalObject, value, [](JSC::JSGlobalObject& lexicalGlobalObject, JSC::ThrowScope& scope) { throwAttributeTypeError(lexicalGlobalObject, scope, "Document", "body", "HTMLElement"); });
2522 RETURN_IF_EXCEPTION(throwScope, false);
2523 invokeFunctorPropagatingExceptionIfNecessary(lexicalGlobalObject, throwScope, [&] {
2524 return impl.setBodyOrFrameset(WTFMove(nativeValue));
2525 });
2526 return true;
2527}
2528
2529JSC_DEFINE_CUSTOM_SETTER(setJSDocument_body, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2530{
2531 return IDLAttribute<JSDocument>::set<setJSDocument_bodySetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2532}
2533
2534static inline JSValue jsDocument_headGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2535{
2536 auto& vm = JSC::getVM(&lexicalGlobalObject);
2537 auto throwScope = DECLARE_THROW_SCOPE(vm);
2538 auto& impl = thisObject.wrapped();
2539 RELEASE_AND_RETURN(throwScope, (toJS<IDLNullable<IDLInterface<HTMLHeadElement>>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.head())));
2540}
2541
2542JSC_DEFINE_CUSTOM_GETTER(jsDocument_head, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2543{
2544 return IDLAttribute<JSDocument>::get<jsDocument_headGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2545}
2546
2547static inline JSValue jsDocument_imagesGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2548{
2549 auto& vm = JSC::getVM(&lexicalGlobalObject);
2550 auto throwScope = DECLARE_THROW_SCOPE(vm);
2551 auto& impl = thisObject.wrapped();
2552 RELEASE_AND_RETURN(throwScope, (toJS<IDLInterface<HTMLCollection>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.images())));
2553}
2554
2555JSC_DEFINE_CUSTOM_GETTER(jsDocument_images, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2556{
2557 return IDLAttribute<JSDocument>::get<jsDocument_imagesGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2558}
2559
2560static inline JSValue jsDocument_embedsGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2561{
2562 auto& vm = JSC::getVM(&lexicalGlobalObject);
2563 auto throwScope = DECLARE_THROW_SCOPE(vm);
2564 auto& impl = thisObject.wrapped();
2565 RELEASE_AND_RETURN(throwScope, (toJS<IDLInterface<HTMLCollection>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.embeds())));
2566}
2567
2568JSC_DEFINE_CUSTOM_GETTER(jsDocument_embeds, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2569{
2570 return IDLAttribute<JSDocument>::get<jsDocument_embedsGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2571}
2572
2573static inline JSValue jsDocument_pluginsGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2574{
2575 auto& vm = JSC::getVM(&lexicalGlobalObject);
2576 auto throwScope = DECLARE_THROW_SCOPE(vm);
2577 auto& impl = thisObject.wrapped();
2578 RELEASE_AND_RETURN(throwScope, (toJS<IDLInterface<HTMLCollection>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.plugins())));
2579}
2580
2581JSC_DEFINE_CUSTOM_GETTER(jsDocument_plugins, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2582{
2583 return IDLAttribute<JSDocument>::get<jsDocument_pluginsGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2584}
2585
2586static inline JSValue jsDocument_linksGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2587{
2588 auto& vm = JSC::getVM(&lexicalGlobalObject);
2589 auto throwScope = DECLARE_THROW_SCOPE(vm);
2590 auto& impl = thisObject.wrapped();
2591 RELEASE_AND_RETURN(throwScope, (toJS<IDLInterface<HTMLCollection>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.links())));
2592}
2593
2594JSC_DEFINE_CUSTOM_GETTER(jsDocument_links, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2595{
2596 return IDLAttribute<JSDocument>::get<jsDocument_linksGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2597}
2598
2599static inline JSValue jsDocument_formsGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2600{
2601 auto& vm = JSC::getVM(&lexicalGlobalObject);
2602 auto throwScope = DECLARE_THROW_SCOPE(vm);
2603 auto& impl = thisObject.wrapped();
2604 RELEASE_AND_RETURN(throwScope, (toJS<IDLInterface<HTMLCollection>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.forms())));
2605}
2606
2607JSC_DEFINE_CUSTOM_GETTER(jsDocument_forms, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2608{
2609 return IDLAttribute<JSDocument>::get<jsDocument_formsGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2610}
2611
2612static inline JSValue jsDocument_scriptsGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2613{
2614 auto& vm = JSC::getVM(&lexicalGlobalObject);
2615 auto throwScope = DECLARE_THROW_SCOPE(vm);
2616 auto& impl = thisObject.wrapped();
2617 RELEASE_AND_RETURN(throwScope, (toJS<IDLInterface<HTMLCollection>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.scripts())));
2618}
2619
2620JSC_DEFINE_CUSTOM_GETTER(jsDocument_scripts, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2621{
2622 return IDLAttribute<JSDocument>::get<jsDocument_scriptsGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2623}
2624
2625static inline JSValue jsDocument_currentScriptGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2626{
2627 auto& vm = JSC::getVM(&lexicalGlobalObject);
2628 auto throwScope = DECLARE_THROW_SCOPE(vm);
2629 auto& impl = thisObject.wrapped();
2630 RELEASE_AND_RETURN(throwScope, (toJS<IDLNullable<IDLInterface<Element>>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.currentScript())));
2631}
2632
2633JSC_DEFINE_CUSTOM_GETTER(jsDocument_currentScript, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2634{
2635 return IDLAttribute<JSDocument>::get<jsDocument_currentScriptGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2636}
2637
2638static inline JSValue jsDocument_defaultViewGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2639{
2640 auto& vm = JSC::getVM(&lexicalGlobalObject);
2641 auto throwScope = DECLARE_THROW_SCOPE(vm);
2642 auto& impl = thisObject.wrapped();
2643 RELEASE_AND_RETURN(throwScope, (toJS<IDLNullable<IDLInterface<WindowProxy>>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.windowProxy())));
2644}
2645
2646JSC_DEFINE_CUSTOM_GETTER(jsDocument_defaultView, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2647{
2648 return IDLAttribute<JSDocument>::get<jsDocument_defaultViewGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2649}
2650
2651static inline JSValue jsDocument_designModeGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2652{
2653 auto& vm = JSC::getVM(&lexicalGlobalObject);
2654 auto throwScope = DECLARE_THROW_SCOPE(vm);
2655 auto& impl = thisObject.wrapped();
2656 RELEASE_AND_RETURN(throwScope, (toJS<IDLDOMString>(lexicalGlobalObject, throwScope, impl.designMode())));
2657}
2658
2659JSC_DEFINE_CUSTOM_GETTER(jsDocument_designMode, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2660{
2661 return IDLAttribute<JSDocument>::get<jsDocument_designModeGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2662}
2663
2664static inline bool setJSDocument_designModeSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2665{
2666 auto& vm = JSC::getVM(&lexicalGlobalObject);
2667 auto throwScope = DECLARE_THROW_SCOPE(vm);
2668 CustomElementReactionStack customElementReactionStack(lexicalGlobalObject);
2669 auto& impl = thisObject.wrapped();
2670 auto nativeValue = convert<IDLDOMString>(lexicalGlobalObject, value);
2671 RETURN_IF_EXCEPTION(throwScope, false);
2672 invokeFunctorPropagatingExceptionIfNecessary(lexicalGlobalObject, throwScope, [&] {
2673 return impl.setDesignMode(WTFMove(nativeValue));
2674 });
2675 return true;
2676}
2677
2678JSC_DEFINE_CUSTOM_SETTER(setJSDocument_designMode, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2679{
2680 return IDLAttribute<JSDocument>::set<setJSDocument_designModeSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2681}
2682
2683static inline JSValue jsDocument_onreadystatechangeGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2684{
2685 UNUSED_PARAM(lexicalGlobalObject);
2686 return eventHandlerAttribute(thisObject.wrapped(), eventNames().readystatechangeEvent, worldForDOMObject(thisObject));
2687}
2688
2689JSC_DEFINE_CUSTOM_GETTER(jsDocument_onreadystatechange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2690{
2691 return IDLAttribute<JSDocument>::get<jsDocument_onreadystatechangeGetter, CastedThisErrorBehavior::ReturnEarly>(*lexicalGlobalObject, thisValue, attributeName);
2692}
2693
2694static inline bool setJSDocument_onreadystatechangeSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2695{
2696 auto& vm = JSC::getVM(&lexicalGlobalObject);
2697 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().readystatechangeEvent, value);
2698 vm.heap.writeBarrier(&thisObject, value);
2699 ensureStillAliveHere(value);
2700
2701 return true;
2702}
2703
2704JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onreadystatechange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2705{
2706 return IDLAttribute<JSDocument>::set<setJSDocument_onreadystatechangeSetter, CastedThisErrorBehavior::ReturnEarly>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2707}
2708
2709static inline JSValue jsDocument_fgColorGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2710{
2711 auto& vm = JSC::getVM(&lexicalGlobalObject);
2712 auto throwScope = DECLARE_THROW_SCOPE(vm);
2713 auto& impl = thisObject.wrapped();
2714 RELEASE_AND_RETURN(throwScope, (toJS<IDLLegacyNullToEmptyStringAdaptor<IDLDOMString>>(lexicalGlobalObject, throwScope, impl.fgColor())));
2715}
2716
2717JSC_DEFINE_CUSTOM_GETTER(jsDocument_fgColor, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2718{
2719 return IDLAttribute<JSDocument>::get<jsDocument_fgColorGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2720}
2721
2722static inline bool setJSDocument_fgColorSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2723{
2724 auto& vm = JSC::getVM(&lexicalGlobalObject);
2725 auto throwScope = DECLARE_THROW_SCOPE(vm);
2726 CustomElementReactionStack customElementReactionStack(lexicalGlobalObject);
2727 auto& impl = thisObject.wrapped();
2728 auto nativeValue = convert<IDLLegacyNullToEmptyStringAdaptor<IDLDOMString>>(lexicalGlobalObject, value);
2729 RETURN_IF_EXCEPTION(throwScope, false);
2730 invokeFunctorPropagatingExceptionIfNecessary(lexicalGlobalObject, throwScope, [&] {
2731 return impl.setFgColor(WTFMove(nativeValue));
2732 });
2733 return true;
2734}
2735
2736JSC_DEFINE_CUSTOM_SETTER(setJSDocument_fgColor, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2737{
2738 return IDLAttribute<JSDocument>::set<setJSDocument_fgColorSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2739}
2740
2741static inline JSValue jsDocument_linkColorGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2742{
2743 auto& vm = JSC::getVM(&lexicalGlobalObject);
2744 auto throwScope = DECLARE_THROW_SCOPE(vm);
2745 auto& impl = thisObject.wrapped();
2746 RELEASE_AND_RETURN(throwScope, (toJS<IDLLegacyNullToEmptyStringAdaptor<IDLDOMString>>(lexicalGlobalObject, throwScope, impl.linkColorForBindings())));
2747}
2748
2749JSC_DEFINE_CUSTOM_GETTER(jsDocument_linkColor, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2750{
2751 return IDLAttribute<JSDocument>::get<jsDocument_linkColorGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2752}
2753
2754static inline bool setJSDocument_linkColorSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2755{
2756 auto& vm = JSC::getVM(&lexicalGlobalObject);
2757 auto throwScope = DECLARE_THROW_SCOPE(vm);
2758 CustomElementReactionStack customElementReactionStack(lexicalGlobalObject);
2759 auto& impl = thisObject.wrapped();
2760 auto nativeValue = convert<IDLLegacyNullToEmptyStringAdaptor<IDLDOMString>>(lexicalGlobalObject, value);
2761 RETURN_IF_EXCEPTION(throwScope, false);
2762 invokeFunctorPropagatingExceptionIfNecessary(lexicalGlobalObject, throwScope, [&] {
2763 return impl.setLinkColorForBindings(WTFMove(nativeValue));
2764 });
2765 return true;
2766}
2767
2768JSC_DEFINE_CUSTOM_SETTER(setJSDocument_linkColor, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2769{
2770 return IDLAttribute<JSDocument>::set<setJSDocument_linkColorSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2771}
2772
2773static inline JSValue jsDocument_vlinkColorGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2774{
2775 auto& vm = JSC::getVM(&lexicalGlobalObject);
2776 auto throwScope = DECLARE_THROW_SCOPE(vm);
2777 auto& impl = thisObject.wrapped();
2778 RELEASE_AND_RETURN(throwScope, (toJS<IDLLegacyNullToEmptyStringAdaptor<IDLDOMString>>(lexicalGlobalObject, throwScope, impl.vlinkColor())));
2779}
2780
2781JSC_DEFINE_CUSTOM_GETTER(jsDocument_vlinkColor, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2782{
2783 return IDLAttribute<JSDocument>::get<jsDocument_vlinkColorGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2784}
2785
2786static inline bool setJSDocument_vlinkColorSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2787{
2788 auto& vm = JSC::getVM(&lexicalGlobalObject);
2789 auto throwScope = DECLARE_THROW_SCOPE(vm);
2790 CustomElementReactionStack customElementReactionStack(lexicalGlobalObject);
2791 auto& impl = thisObject.wrapped();
2792 auto nativeValue = convert<IDLLegacyNullToEmptyStringAdaptor<IDLDOMString>>(lexicalGlobalObject, value);
2793 RETURN_IF_EXCEPTION(throwScope, false);
2794 invokeFunctorPropagatingExceptionIfNecessary(lexicalGlobalObject, throwScope, [&] {
2795 return impl.setVlinkColor(WTFMove(nativeValue));
2796 });
2797 return true;
2798}
2799
2800JSC_DEFINE_CUSTOM_SETTER(setJSDocument_vlinkColor, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2801{
2802 return IDLAttribute<JSDocument>::set<setJSDocument_vlinkColorSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2803}
2804
2805static inline JSValue jsDocument_alinkColorGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2806{
2807 auto& vm = JSC::getVM(&lexicalGlobalObject);
2808 auto throwScope = DECLARE_THROW_SCOPE(vm);
2809 auto& impl = thisObject.wrapped();
2810 RELEASE_AND_RETURN(throwScope, (toJS<IDLLegacyNullToEmptyStringAdaptor<IDLDOMString>>(lexicalGlobalObject, throwScope, impl.alinkColor())));
2811}
2812
2813JSC_DEFINE_CUSTOM_GETTER(jsDocument_alinkColor, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2814{
2815 return IDLAttribute<JSDocument>::get<jsDocument_alinkColorGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2816}
2817
2818static inline bool setJSDocument_alinkColorSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2819{
2820 auto& vm = JSC::getVM(&lexicalGlobalObject);
2821 auto throwScope = DECLARE_THROW_SCOPE(vm);
2822 CustomElementReactionStack customElementReactionStack(lexicalGlobalObject);
2823 auto& impl = thisObject.wrapped();
2824 auto nativeValue = convert<IDLLegacyNullToEmptyStringAdaptor<IDLDOMString>>(lexicalGlobalObject, value);
2825 RETURN_IF_EXCEPTION(throwScope, false);
2826 invokeFunctorPropagatingExceptionIfNecessary(lexicalGlobalObject, throwScope, [&] {
2827 return impl.setAlinkColor(WTFMove(nativeValue));
2828 });
2829 return true;
2830}
2831
2832JSC_DEFINE_CUSTOM_SETTER(setJSDocument_alinkColor, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2833{
2834 return IDLAttribute<JSDocument>::set<setJSDocument_alinkColorSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2835}
2836
2837static inline JSValue jsDocument_bgColorGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2838{
2839 auto& vm = JSC::getVM(&lexicalGlobalObject);
2840 auto throwScope = DECLARE_THROW_SCOPE(vm);
2841 auto& impl = thisObject.wrapped();
2842 RELEASE_AND_RETURN(throwScope, (toJS<IDLLegacyNullToEmptyStringAdaptor<IDLDOMString>>(lexicalGlobalObject, throwScope, impl.bgColor())));
2843}
2844
2845JSC_DEFINE_CUSTOM_GETTER(jsDocument_bgColor, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2846{
2847 return IDLAttribute<JSDocument>::get<jsDocument_bgColorGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2848}
2849
2850static inline bool setJSDocument_bgColorSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2851{
2852 auto& vm = JSC::getVM(&lexicalGlobalObject);
2853 auto throwScope = DECLARE_THROW_SCOPE(vm);
2854 CustomElementReactionStack customElementReactionStack(lexicalGlobalObject);
2855 auto& impl = thisObject.wrapped();
2856 auto nativeValue = convert<IDLLegacyNullToEmptyStringAdaptor<IDLDOMString>>(lexicalGlobalObject, value);
2857 RETURN_IF_EXCEPTION(throwScope, false);
2858 invokeFunctorPropagatingExceptionIfNecessary(lexicalGlobalObject, throwScope, [&] {
2859 return impl.setBgColor(WTFMove(nativeValue));
2860 });
2861 return true;
2862}
2863
2864JSC_DEFINE_CUSTOM_SETTER(setJSDocument_bgColor, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2865{
2866 return IDLAttribute<JSDocument>::set<setJSDocument_bgColorSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2867}
2868
2869static inline JSValue jsDocument_anchorsGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2870{
2871 auto& vm = JSC::getVM(&lexicalGlobalObject);
2872 auto throwScope = DECLARE_THROW_SCOPE(vm);
2873 auto& impl = thisObject.wrapped();
2874 RELEASE_AND_RETURN(throwScope, (toJS<IDLInterface<HTMLCollection>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.anchors())));
2875}
2876
2877JSC_DEFINE_CUSTOM_GETTER(jsDocument_anchors, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2878{
2879 return IDLAttribute<JSDocument>::get<jsDocument_anchorsGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2880}
2881
2882static inline JSValue jsDocument_appletsGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2883{
2884 auto& vm = JSC::getVM(&lexicalGlobalObject);
2885 auto throwScope = DECLARE_THROW_SCOPE(vm);
2886 auto& impl = thisObject.wrapped();
2887 RELEASE_AND_RETURN(throwScope, (toJS<IDLInterface<HTMLCollection>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.applets())));
2888}
2889
2890JSC_DEFINE_CUSTOM_GETTER(jsDocument_applets, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2891{
2892 return IDLAttribute<JSDocument>::get<jsDocument_appletsGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2893}
2894
2895static inline JSValue jsDocument_allGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2896{
2897 auto& vm = JSC::getVM(&lexicalGlobalObject);
2898 auto throwScope = DECLARE_THROW_SCOPE(vm);
2899 auto& impl = thisObject.wrapped();
2900 RELEASE_AND_RETURN(throwScope, (toJS<IDLInterface<HTMLAllCollection>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.all())));
2901}
2902
2903JSC_DEFINE_CUSTOM_GETTER(jsDocument_all, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2904{
2905 return IDLAttribute<JSDocument>::get<jsDocument_allGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2906}
2907
2908static inline JSValue jsDocument_hiddenGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2909{
2910 auto& vm = JSC::getVM(&lexicalGlobalObject);
2911 auto throwScope = DECLARE_THROW_SCOPE(vm);
2912 auto& impl = thisObject.wrapped();
2913 RELEASE_AND_RETURN(throwScope, (toJS<IDLBoolean>(lexicalGlobalObject, throwScope, impl.hidden())));
2914}
2915
2916JSC_DEFINE_CUSTOM_GETTER(jsDocument_hidden, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2917{
2918 return IDLAttribute<JSDocument>::get<jsDocument_hiddenGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2919}
2920
2921static inline JSValue jsDocument_visibilityStateGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2922{
2923 auto& vm = JSC::getVM(&lexicalGlobalObject);
2924 auto throwScope = DECLARE_THROW_SCOPE(vm);
2925 auto& impl = thisObject.wrapped();
2926 RELEASE_AND_RETURN(throwScope, (toJS<IDLEnumeration<VisibilityState>>(lexicalGlobalObject, throwScope, impl.visibilityState())));
2927}
2928
2929JSC_DEFINE_CUSTOM_GETTER(jsDocument_visibilityState, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2930{
2931 return IDLAttribute<JSDocument>::get<jsDocument_visibilityStateGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2932}
2933
2934static inline JSValue jsDocument_onvisibilitychangeGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2935{
2936 UNUSED_PARAM(lexicalGlobalObject);
2937 return eventHandlerAttribute(thisObject.wrapped(), eventNames().visibilitychangeEvent, worldForDOMObject(thisObject));
2938}
2939
2940JSC_DEFINE_CUSTOM_GETTER(jsDocument_onvisibilitychange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2941{
2942 return IDLAttribute<JSDocument>::get<jsDocument_onvisibilitychangeGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2943}
2944
2945static inline bool setJSDocument_onvisibilitychangeSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2946{
2947 auto& vm = JSC::getVM(&lexicalGlobalObject);
2948 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().visibilitychangeEvent, value);
2949 vm.heap.writeBarrier(&thisObject, value);
2950 ensureStillAliveHere(value);
2951
2952 return true;
2953}
2954
2955JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onvisibilitychange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2956{
2957 return IDLAttribute<JSDocument>::set<setJSDocument_onvisibilitychangeSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2958}
2959
2960#if ENABLE(POINTER_LOCK)
2961static inline JSValue jsDocument_onpointerlockchangeGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2962{
2963 UNUSED_PARAM(lexicalGlobalObject);
2964 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointerlockchangeEvent, worldForDOMObject(thisObject));
2965}
2966
2967JSC_DEFINE_CUSTOM_GETTER(jsDocument_onpointerlockchange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
2968{
2969 return IDLAttribute<JSDocument>::get<jsDocument_onpointerlockchangeGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
2970}
2971
2972#endif
2973
2974#if ENABLE(POINTER_LOCK)
2975static inline bool setJSDocument_onpointerlockchangeSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
2976{
2977 auto& vm = JSC::getVM(&lexicalGlobalObject);
2978 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().pointerlockchangeEvent, value);
2979 vm.heap.writeBarrier(&thisObject, value);
2980 ensureStillAliveHere(value);
2981
2982 return true;
2983}
2984
2985JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onpointerlockchange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
2986{
2987 return IDLAttribute<JSDocument>::set<setJSDocument_onpointerlockchangeSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
2988}
2989
2990#endif
2991
2992#if ENABLE(POINTER_LOCK)
2993static inline JSValue jsDocument_onpointerlockerrorGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
2994{
2995 UNUSED_PARAM(lexicalGlobalObject);
2996 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointerlockerrorEvent, worldForDOMObject(thisObject));
2997}
2998
2999JSC_DEFINE_CUSTOM_GETTER(jsDocument_onpointerlockerror, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3000{
3001 return IDLAttribute<JSDocument>::get<jsDocument_onpointerlockerrorGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3002}
3003
3004#endif
3005
3006#if ENABLE(POINTER_LOCK)
3007static inline bool setJSDocument_onpointerlockerrorSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3008{
3009 auto& vm = JSC::getVM(&lexicalGlobalObject);
3010 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().pointerlockerrorEvent, value);
3011 vm.heap.writeBarrier(&thisObject, value);
3012 ensureStillAliveHere(value);
3013
3014 return true;
3015}
3016
3017JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onpointerlockerror, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3018{
3019 return IDLAttribute<JSDocument>::set<setJSDocument_onpointerlockerrorSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3020}
3021
3022#endif
3023
3024static inline JSValue jsDocument_undoManagerGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3025{
3026 auto& vm = JSC::getVM(&lexicalGlobalObject);
3027 auto throwScope = DECLARE_THROW_SCOPE(vm);
3028 auto& impl = thisObject.wrapped();
3029 RELEASE_AND_RETURN(throwScope, (toJS<IDLInterface<UndoManager>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.undoManager())));
3030}
3031
3032JSC_DEFINE_CUSTOM_GETTER(jsDocument_undoManager, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3033{
3034 return IDLAttribute<JSDocument>::get<jsDocument_undoManagerGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3035}
3036
3037static inline JSValue jsDocument_oncopyGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3038{
3039 UNUSED_PARAM(lexicalGlobalObject);
3040 return eventHandlerAttribute(thisObject.wrapped(), eventNames().copyEvent, worldForDOMObject(thisObject));
3041}
3042
3043JSC_DEFINE_CUSTOM_GETTER(jsDocument_oncopy, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3044{
3045 return IDLAttribute<JSDocument>::get<jsDocument_oncopyGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3046}
3047
3048static inline bool setJSDocument_oncopySetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3049{
3050 auto& vm = JSC::getVM(&lexicalGlobalObject);
3051 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().copyEvent, value);
3052 vm.heap.writeBarrier(&thisObject, value);
3053 ensureStillAliveHere(value);
3054
3055 return true;
3056}
3057
3058JSC_DEFINE_CUSTOM_SETTER(setJSDocument_oncopy, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3059{
3060 return IDLAttribute<JSDocument>::set<setJSDocument_oncopySetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3061}
3062
3063static inline JSValue jsDocument_oncutGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3064{
3065 UNUSED_PARAM(lexicalGlobalObject);
3066 return eventHandlerAttribute(thisObject.wrapped(), eventNames().cutEvent, worldForDOMObject(thisObject));
3067}
3068
3069JSC_DEFINE_CUSTOM_GETTER(jsDocument_oncut, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3070{
3071 return IDLAttribute<JSDocument>::get<jsDocument_oncutGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3072}
3073
3074static inline bool setJSDocument_oncutSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3075{
3076 auto& vm = JSC::getVM(&lexicalGlobalObject);
3077 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().cutEvent, value);
3078 vm.heap.writeBarrier(&thisObject, value);
3079 ensureStillAliveHere(value);
3080
3081 return true;
3082}
3083
3084JSC_DEFINE_CUSTOM_SETTER(setJSDocument_oncut, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3085{
3086 return IDLAttribute<JSDocument>::set<setJSDocument_oncutSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3087}
3088
3089static inline JSValue jsDocument_onpasteGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3090{
3091 UNUSED_PARAM(lexicalGlobalObject);
3092 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pasteEvent, worldForDOMObject(thisObject));
3093}
3094
3095JSC_DEFINE_CUSTOM_GETTER(jsDocument_onpaste, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3096{
3097 return IDLAttribute<JSDocument>::get<jsDocument_onpasteGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3098}
3099
3100static inline bool setJSDocument_onpasteSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3101{
3102 auto& vm = JSC::getVM(&lexicalGlobalObject);
3103 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().pasteEvent, value);
3104 vm.heap.writeBarrier(&thisObject, value);
3105 ensureStillAliveHere(value);
3106
3107 return true;
3108}
3109
3110JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onpaste, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3111{
3112 return IDLAttribute<JSDocument>::set<setJSDocument_onpasteSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3113}
3114
3115static inline JSValue jsDocument_onbeforecopyGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3116{
3117 UNUSED_PARAM(lexicalGlobalObject);
3118 return eventHandlerAttribute(thisObject.wrapped(), eventNames().beforecopyEvent, worldForDOMObject(thisObject));
3119}
3120
3121JSC_DEFINE_CUSTOM_GETTER(jsDocument_onbeforecopy, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3122{
3123 return IDLAttribute<JSDocument>::get<jsDocument_onbeforecopyGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3124}
3125
3126static inline bool setJSDocument_onbeforecopySetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3127{
3128 auto& vm = JSC::getVM(&lexicalGlobalObject);
3129 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().beforecopyEvent, value);
3130 vm.heap.writeBarrier(&thisObject, value);
3131 ensureStillAliveHere(value);
3132
3133 return true;
3134}
3135
3136JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onbeforecopy, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3137{
3138 return IDLAttribute<JSDocument>::set<setJSDocument_onbeforecopySetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3139}
3140
3141static inline JSValue jsDocument_onbeforecutGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3142{
3143 UNUSED_PARAM(lexicalGlobalObject);
3144 return eventHandlerAttribute(thisObject.wrapped(), eventNames().beforecutEvent, worldForDOMObject(thisObject));
3145}
3146
3147JSC_DEFINE_CUSTOM_GETTER(jsDocument_onbeforecut, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3148{
3149 return IDLAttribute<JSDocument>::get<jsDocument_onbeforecutGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3150}
3151
3152static inline bool setJSDocument_onbeforecutSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3153{
3154 auto& vm = JSC::getVM(&lexicalGlobalObject);
3155 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().beforecutEvent, value);
3156 vm.heap.writeBarrier(&thisObject, value);
3157 ensureStillAliveHere(value);
3158
3159 return true;
3160}
3161
3162JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onbeforecut, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3163{
3164 return IDLAttribute<JSDocument>::set<setJSDocument_onbeforecutSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3165}
3166
3167static inline JSValue jsDocument_onbeforeinputGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3168{
3169 UNUSED_PARAM(lexicalGlobalObject);
3170 return eventHandlerAttribute(thisObject.wrapped(), eventNames().beforeinputEvent, worldForDOMObject(thisObject));
3171}
3172
3173JSC_DEFINE_CUSTOM_GETTER(jsDocument_onbeforeinput, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3174{
3175 return IDLAttribute<JSDocument>::get<jsDocument_onbeforeinputGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3176}
3177
3178static inline bool setJSDocument_onbeforeinputSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3179{
3180 auto& vm = JSC::getVM(&lexicalGlobalObject);
3181 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().beforeinputEvent, value);
3182 vm.heap.writeBarrier(&thisObject, value);
3183 ensureStillAliveHere(value);
3184
3185 return true;
3186}
3187
3188JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onbeforeinput, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3189{
3190 return IDLAttribute<JSDocument>::set<setJSDocument_onbeforeinputSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3191}
3192
3193static inline JSValue jsDocument_onbeforepasteGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3194{
3195 UNUSED_PARAM(lexicalGlobalObject);
3196 return eventHandlerAttribute(thisObject.wrapped(), eventNames().beforepasteEvent, worldForDOMObject(thisObject));
3197}
3198
3199JSC_DEFINE_CUSTOM_GETTER(jsDocument_onbeforepaste, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3200{
3201 return IDLAttribute<JSDocument>::get<jsDocument_onbeforepasteGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3202}
3203
3204static inline bool setJSDocument_onbeforepasteSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3205{
3206 auto& vm = JSC::getVM(&lexicalGlobalObject);
3207 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().beforepasteEvent, value);
3208 vm.heap.writeBarrier(&thisObject, value);
3209 ensureStillAliveHere(value);
3210
3211 return true;
3212}
3213
3214JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onbeforepaste, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3215{
3216 return IDLAttribute<JSDocument>::set<setJSDocument_onbeforepasteSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3217}
3218
3219static inline JSValue jsDocument_activeElementGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3220{
3221 auto& vm = JSC::getVM(&lexicalGlobalObject);
3222 auto throwScope = DECLARE_THROW_SCOPE(vm);
3223 auto& impl = thisObject.wrapped();
3224 RELEASE_AND_RETURN(throwScope, (toJS<IDLNullable<IDLInterface<Element>>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.activeElement())));
3225}
3226
3227JSC_DEFINE_CUSTOM_GETTER(jsDocument_activeElement, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3228{
3229 return IDLAttribute<JSDocument>::get<jsDocument_activeElementGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3230}
3231
3232#if ENABLE(PICTURE_IN_PICTURE_API)
3233static inline JSValue jsDocument_pictureInPictureElementGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3234{
3235 auto& vm = JSC::getVM(&lexicalGlobalObject);
3236 auto throwScope = DECLARE_THROW_SCOPE(vm);
3237 auto& impl = thisObject.wrapped();
3238 RELEASE_AND_RETURN(throwScope, (toJS<IDLNullable<IDLInterface<Element>>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.pictureInPictureElement())));
3239}
3240
3241JSC_DEFINE_CUSTOM_GETTER(jsDocument_pictureInPictureElement, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3242{
3243 return IDLAttribute<JSDocument>::get<jsDocument_pictureInPictureElementGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3244}
3245
3246#endif
3247
3248static inline JSValue jsDocument_styleSheetsGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3249{
3250 auto& vm = JSC::getVM(&lexicalGlobalObject);
3251 auto throwScope = DECLARE_THROW_SCOPE(vm);
3252 auto& impl = thisObject.wrapped();
3253 RELEASE_AND_RETURN(throwScope, (toJS<IDLInterface<StyleSheetList>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.styleSheets())));
3254}
3255
3256JSC_DEFINE_CUSTOM_GETTER(jsDocument_styleSheets, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3257{
3258 return IDLAttribute<JSDocument>::get<jsDocument_styleSheetsGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3259}
3260
3261#if ENABLE(POINTER_LOCK)
3262static inline JSValue jsDocument_pointerLockElementGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3263{
3264 auto& vm = JSC::getVM(&lexicalGlobalObject);
3265 auto throwScope = DECLARE_THROW_SCOPE(vm);
3266 auto& impl = thisObject.wrapped();
3267 RELEASE_AND_RETURN(throwScope, (toJS<IDLNullable<IDLInterface<Element>>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.pointerLockElement())));
3268}
3269
3270JSC_DEFINE_CUSTOM_GETTER(jsDocument_pointerLockElement, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3271{
3272 return IDLAttribute<JSDocument>::get<jsDocument_pointerLockElementGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3273}
3274
3275#endif
3276
3277static inline JSValue jsDocument_onabortGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3278{
3279 UNUSED_PARAM(lexicalGlobalObject);
3280 return eventHandlerAttribute(thisObject.wrapped(), eventNames().abortEvent, worldForDOMObject(thisObject));
3281}
3282
3283JSC_DEFINE_CUSTOM_GETTER(jsDocument_onabort, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3284{
3285 return IDLAttribute<JSDocument>::get<jsDocument_onabortGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3286}
3287
3288static inline bool setJSDocument_onabortSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3289{
3290 auto& vm = JSC::getVM(&lexicalGlobalObject);
3291 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().abortEvent, value);
3292 vm.heap.writeBarrier(&thisObject, value);
3293 ensureStillAliveHere(value);
3294
3295 return true;
3296}
3297
3298JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onabort, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3299{
3300 return IDLAttribute<JSDocument>::set<setJSDocument_onabortSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3301}
3302
3303static inline JSValue jsDocument_onblurGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3304{
3305 UNUSED_PARAM(lexicalGlobalObject);
3306 return eventHandlerAttribute(thisObject.wrapped(), eventNames().blurEvent, worldForDOMObject(thisObject));
3307}
3308
3309JSC_DEFINE_CUSTOM_GETTER(jsDocument_onblur, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3310{
3311 return IDLAttribute<JSDocument>::get<jsDocument_onblurGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3312}
3313
3314static inline bool setJSDocument_onblurSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3315{
3316 auto& vm = JSC::getVM(&lexicalGlobalObject);
3317 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().blurEvent, value);
3318 vm.heap.writeBarrier(&thisObject, value);
3319 ensureStillAliveHere(value);
3320
3321 return true;
3322}
3323
3324JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onblur, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3325{
3326 return IDLAttribute<JSDocument>::set<setJSDocument_onblurSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3327}
3328
3329static inline JSValue jsDocument_oncanplayGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3330{
3331 UNUSED_PARAM(lexicalGlobalObject);
3332 return eventHandlerAttribute(thisObject.wrapped(), eventNames().canplayEvent, worldForDOMObject(thisObject));
3333}
3334
3335JSC_DEFINE_CUSTOM_GETTER(jsDocument_oncanplay, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3336{
3337 return IDLAttribute<JSDocument>::get<jsDocument_oncanplayGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3338}
3339
3340static inline bool setJSDocument_oncanplaySetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3341{
3342 auto& vm = JSC::getVM(&lexicalGlobalObject);
3343 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().canplayEvent, value);
3344 vm.heap.writeBarrier(&thisObject, value);
3345 ensureStillAliveHere(value);
3346
3347 return true;
3348}
3349
3350JSC_DEFINE_CUSTOM_SETTER(setJSDocument_oncanplay, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3351{
3352 return IDLAttribute<JSDocument>::set<setJSDocument_oncanplaySetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3353}
3354
3355static inline JSValue jsDocument_oncanplaythroughGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3356{
3357 UNUSED_PARAM(lexicalGlobalObject);
3358 return eventHandlerAttribute(thisObject.wrapped(), eventNames().canplaythroughEvent, worldForDOMObject(thisObject));
3359}
3360
3361JSC_DEFINE_CUSTOM_GETTER(jsDocument_oncanplaythrough, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3362{
3363 return IDLAttribute<JSDocument>::get<jsDocument_oncanplaythroughGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3364}
3365
3366static inline bool setJSDocument_oncanplaythroughSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3367{
3368 auto& vm = JSC::getVM(&lexicalGlobalObject);
3369 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().canplaythroughEvent, value);
3370 vm.heap.writeBarrier(&thisObject, value);
3371 ensureStillAliveHere(value);
3372
3373 return true;
3374}
3375
3376JSC_DEFINE_CUSTOM_SETTER(setJSDocument_oncanplaythrough, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3377{
3378 return IDLAttribute<JSDocument>::set<setJSDocument_oncanplaythroughSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3379}
3380
3381static inline JSValue jsDocument_onchangeGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3382{
3383 UNUSED_PARAM(lexicalGlobalObject);
3384 return eventHandlerAttribute(thisObject.wrapped(), eventNames().changeEvent, worldForDOMObject(thisObject));
3385}
3386
3387JSC_DEFINE_CUSTOM_GETTER(jsDocument_onchange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3388{
3389 return IDLAttribute<JSDocument>::get<jsDocument_onchangeGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3390}
3391
3392static inline bool setJSDocument_onchangeSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3393{
3394 auto& vm = JSC::getVM(&lexicalGlobalObject);
3395 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().changeEvent, value);
3396 vm.heap.writeBarrier(&thisObject, value);
3397 ensureStillAliveHere(value);
3398
3399 return true;
3400}
3401
3402JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onchange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3403{
3404 return IDLAttribute<JSDocument>::set<setJSDocument_onchangeSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3405}
3406
3407static inline JSValue jsDocument_onclickGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3408{
3409 UNUSED_PARAM(lexicalGlobalObject);
3410 return eventHandlerAttribute(thisObject.wrapped(), eventNames().clickEvent, worldForDOMObject(thisObject));
3411}
3412
3413JSC_DEFINE_CUSTOM_GETTER(jsDocument_onclick, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3414{
3415 return IDLAttribute<JSDocument>::get<jsDocument_onclickGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3416}
3417
3418static inline bool setJSDocument_onclickSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3419{
3420 auto& vm = JSC::getVM(&lexicalGlobalObject);
3421 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().clickEvent, value);
3422 vm.heap.writeBarrier(&thisObject, value);
3423 ensureStillAliveHere(value);
3424
3425 return true;
3426}
3427
3428JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onclick, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3429{
3430 return IDLAttribute<JSDocument>::set<setJSDocument_onclickSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3431}
3432
3433static inline JSValue jsDocument_oncloseGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3434{
3435 UNUSED_PARAM(lexicalGlobalObject);
3436 return eventHandlerAttribute(thisObject.wrapped(), eventNames().closeEvent, worldForDOMObject(thisObject));
3437}
3438
3439JSC_DEFINE_CUSTOM_GETTER(jsDocument_onclose, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3440{
3441 return IDLAttribute<JSDocument>::get<jsDocument_oncloseGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3442}
3443
3444static inline bool setJSDocument_oncloseSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3445{
3446 auto& vm = JSC::getVM(&lexicalGlobalObject);
3447 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().closeEvent, value);
3448 vm.heap.writeBarrier(&thisObject, value);
3449 ensureStillAliveHere(value);
3450
3451 return true;
3452}
3453
3454JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onclose, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3455{
3456 return IDLAttribute<JSDocument>::set<setJSDocument_oncloseSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3457}
3458
3459static inline JSValue jsDocument_oncontextmenuGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3460{
3461 UNUSED_PARAM(lexicalGlobalObject);
3462 return eventHandlerAttribute(thisObject.wrapped(), eventNames().contextmenuEvent, worldForDOMObject(thisObject));
3463}
3464
3465JSC_DEFINE_CUSTOM_GETTER(jsDocument_oncontextmenu, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3466{
3467 return IDLAttribute<JSDocument>::get<jsDocument_oncontextmenuGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3468}
3469
3470static inline bool setJSDocument_oncontextmenuSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3471{
3472 auto& vm = JSC::getVM(&lexicalGlobalObject);
3473 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().contextmenuEvent, value);
3474 vm.heap.writeBarrier(&thisObject, value);
3475 ensureStillAliveHere(value);
3476
3477 return true;
3478}
3479
3480JSC_DEFINE_CUSTOM_SETTER(setJSDocument_oncontextmenu, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3481{
3482 return IDLAttribute<JSDocument>::set<setJSDocument_oncontextmenuSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3483}
3484
3485static inline JSValue jsDocument_oncuechangeGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3486{
3487 UNUSED_PARAM(lexicalGlobalObject);
3488 return eventHandlerAttribute(thisObject.wrapped(), eventNames().cuechangeEvent, worldForDOMObject(thisObject));
3489}
3490
3491JSC_DEFINE_CUSTOM_GETTER(jsDocument_oncuechange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3492{
3493 return IDLAttribute<JSDocument>::get<jsDocument_oncuechangeGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3494}
3495
3496static inline bool setJSDocument_oncuechangeSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3497{
3498 auto& vm = JSC::getVM(&lexicalGlobalObject);
3499 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().cuechangeEvent, value);
3500 vm.heap.writeBarrier(&thisObject, value);
3501 ensureStillAliveHere(value);
3502
3503 return true;
3504}
3505
3506JSC_DEFINE_CUSTOM_SETTER(setJSDocument_oncuechange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3507{
3508 return IDLAttribute<JSDocument>::set<setJSDocument_oncuechangeSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3509}
3510
3511static inline JSValue jsDocument_ondblclickGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3512{
3513 UNUSED_PARAM(lexicalGlobalObject);
3514 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dblclickEvent, worldForDOMObject(thisObject));
3515}
3516
3517JSC_DEFINE_CUSTOM_GETTER(jsDocument_ondblclick, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3518{
3519 return IDLAttribute<JSDocument>::get<jsDocument_ondblclickGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3520}
3521
3522static inline bool setJSDocument_ondblclickSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3523{
3524 auto& vm = JSC::getVM(&lexicalGlobalObject);
3525 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().dblclickEvent, value);
3526 vm.heap.writeBarrier(&thisObject, value);
3527 ensureStillAliveHere(value);
3528
3529 return true;
3530}
3531
3532JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ondblclick, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3533{
3534 return IDLAttribute<JSDocument>::set<setJSDocument_ondblclickSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3535}
3536
3537static inline JSValue jsDocument_ondragGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3538{
3539 UNUSED_PARAM(lexicalGlobalObject);
3540 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dragEvent, worldForDOMObject(thisObject));
3541}
3542
3543JSC_DEFINE_CUSTOM_GETTER(jsDocument_ondrag, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3544{
3545 return IDLAttribute<JSDocument>::get<jsDocument_ondragGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3546}
3547
3548static inline bool setJSDocument_ondragSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3549{
3550 auto& vm = JSC::getVM(&lexicalGlobalObject);
3551 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().dragEvent, value);
3552 vm.heap.writeBarrier(&thisObject, value);
3553 ensureStillAliveHere(value);
3554
3555 return true;
3556}
3557
3558JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ondrag, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3559{
3560 return IDLAttribute<JSDocument>::set<setJSDocument_ondragSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3561}
3562
3563static inline JSValue jsDocument_ondragendGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3564{
3565 UNUSED_PARAM(lexicalGlobalObject);
3566 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dragendEvent, worldForDOMObject(thisObject));
3567}
3568
3569JSC_DEFINE_CUSTOM_GETTER(jsDocument_ondragend, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3570{
3571 return IDLAttribute<JSDocument>::get<jsDocument_ondragendGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3572}
3573
3574static inline bool setJSDocument_ondragendSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3575{
3576 auto& vm = JSC::getVM(&lexicalGlobalObject);
3577 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().dragendEvent, value);
3578 vm.heap.writeBarrier(&thisObject, value);
3579 ensureStillAliveHere(value);
3580
3581 return true;
3582}
3583
3584JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ondragend, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3585{
3586 return IDLAttribute<JSDocument>::set<setJSDocument_ondragendSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3587}
3588
3589static inline JSValue jsDocument_ondragenterGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3590{
3591 UNUSED_PARAM(lexicalGlobalObject);
3592 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dragenterEvent, worldForDOMObject(thisObject));
3593}
3594
3595JSC_DEFINE_CUSTOM_GETTER(jsDocument_ondragenter, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3596{
3597 return IDLAttribute<JSDocument>::get<jsDocument_ondragenterGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3598}
3599
3600static inline bool setJSDocument_ondragenterSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3601{
3602 auto& vm = JSC::getVM(&lexicalGlobalObject);
3603 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().dragenterEvent, value);
3604 vm.heap.writeBarrier(&thisObject, value);
3605 ensureStillAliveHere(value);
3606
3607 return true;
3608}
3609
3610JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ondragenter, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3611{
3612 return IDLAttribute<JSDocument>::set<setJSDocument_ondragenterSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3613}
3614
3615static inline JSValue jsDocument_ondragleaveGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3616{
3617 UNUSED_PARAM(lexicalGlobalObject);
3618 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dragleaveEvent, worldForDOMObject(thisObject));
3619}
3620
3621JSC_DEFINE_CUSTOM_GETTER(jsDocument_ondragleave, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3622{
3623 return IDLAttribute<JSDocument>::get<jsDocument_ondragleaveGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3624}
3625
3626static inline bool setJSDocument_ondragleaveSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3627{
3628 auto& vm = JSC::getVM(&lexicalGlobalObject);
3629 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().dragleaveEvent, value);
3630 vm.heap.writeBarrier(&thisObject, value);
3631 ensureStillAliveHere(value);
3632
3633 return true;
3634}
3635
3636JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ondragleave, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3637{
3638 return IDLAttribute<JSDocument>::set<setJSDocument_ondragleaveSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3639}
3640
3641static inline JSValue jsDocument_ondragoverGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3642{
3643 UNUSED_PARAM(lexicalGlobalObject);
3644 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dragoverEvent, worldForDOMObject(thisObject));
3645}
3646
3647JSC_DEFINE_CUSTOM_GETTER(jsDocument_ondragover, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3648{
3649 return IDLAttribute<JSDocument>::get<jsDocument_ondragoverGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3650}
3651
3652static inline bool setJSDocument_ondragoverSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3653{
3654 auto& vm = JSC::getVM(&lexicalGlobalObject);
3655 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().dragoverEvent, value);
3656 vm.heap.writeBarrier(&thisObject, value);
3657 ensureStillAliveHere(value);
3658
3659 return true;
3660}
3661
3662JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ondragover, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3663{
3664 return IDLAttribute<JSDocument>::set<setJSDocument_ondragoverSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3665}
3666
3667static inline JSValue jsDocument_ondragstartGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3668{
3669 UNUSED_PARAM(lexicalGlobalObject);
3670 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dragstartEvent, worldForDOMObject(thisObject));
3671}
3672
3673JSC_DEFINE_CUSTOM_GETTER(jsDocument_ondragstart, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3674{
3675 return IDLAttribute<JSDocument>::get<jsDocument_ondragstartGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3676}
3677
3678static inline bool setJSDocument_ondragstartSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3679{
3680 auto& vm = JSC::getVM(&lexicalGlobalObject);
3681 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().dragstartEvent, value);
3682 vm.heap.writeBarrier(&thisObject, value);
3683 ensureStillAliveHere(value);
3684
3685 return true;
3686}
3687
3688JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ondragstart, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3689{
3690 return IDLAttribute<JSDocument>::set<setJSDocument_ondragstartSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3691}
3692
3693static inline JSValue jsDocument_ondropGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3694{
3695 UNUSED_PARAM(lexicalGlobalObject);
3696 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dropEvent, worldForDOMObject(thisObject));
3697}
3698
3699JSC_DEFINE_CUSTOM_GETTER(jsDocument_ondrop, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3700{
3701 return IDLAttribute<JSDocument>::get<jsDocument_ondropGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3702}
3703
3704static inline bool setJSDocument_ondropSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3705{
3706 auto& vm = JSC::getVM(&lexicalGlobalObject);
3707 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().dropEvent, value);
3708 vm.heap.writeBarrier(&thisObject, value);
3709 ensureStillAliveHere(value);
3710
3711 return true;
3712}
3713
3714JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ondrop, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3715{
3716 return IDLAttribute<JSDocument>::set<setJSDocument_ondropSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3717}
3718
3719static inline JSValue jsDocument_ondurationchangeGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3720{
3721 UNUSED_PARAM(lexicalGlobalObject);
3722 return eventHandlerAttribute(thisObject.wrapped(), eventNames().durationchangeEvent, worldForDOMObject(thisObject));
3723}
3724
3725JSC_DEFINE_CUSTOM_GETTER(jsDocument_ondurationchange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3726{
3727 return IDLAttribute<JSDocument>::get<jsDocument_ondurationchangeGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3728}
3729
3730static inline bool setJSDocument_ondurationchangeSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3731{
3732 auto& vm = JSC::getVM(&lexicalGlobalObject);
3733 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().durationchangeEvent, value);
3734 vm.heap.writeBarrier(&thisObject, value);
3735 ensureStillAliveHere(value);
3736
3737 return true;
3738}
3739
3740JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ondurationchange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3741{
3742 return IDLAttribute<JSDocument>::set<setJSDocument_ondurationchangeSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3743}
3744
3745static inline JSValue jsDocument_onemptiedGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3746{
3747 UNUSED_PARAM(lexicalGlobalObject);
3748 return eventHandlerAttribute(thisObject.wrapped(), eventNames().emptiedEvent, worldForDOMObject(thisObject));
3749}
3750
3751JSC_DEFINE_CUSTOM_GETTER(jsDocument_onemptied, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3752{
3753 return IDLAttribute<JSDocument>::get<jsDocument_onemptiedGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3754}
3755
3756static inline bool setJSDocument_onemptiedSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3757{
3758 auto& vm = JSC::getVM(&lexicalGlobalObject);
3759 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().emptiedEvent, value);
3760 vm.heap.writeBarrier(&thisObject, value);
3761 ensureStillAliveHere(value);
3762
3763 return true;
3764}
3765
3766JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onemptied, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3767{
3768 return IDLAttribute<JSDocument>::set<setJSDocument_onemptiedSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3769}
3770
3771static inline JSValue jsDocument_onendedGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3772{
3773 UNUSED_PARAM(lexicalGlobalObject);
3774 return eventHandlerAttribute(thisObject.wrapped(), eventNames().endedEvent, worldForDOMObject(thisObject));
3775}
3776
3777JSC_DEFINE_CUSTOM_GETTER(jsDocument_onended, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3778{
3779 return IDLAttribute<JSDocument>::get<jsDocument_onendedGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3780}
3781
3782static inline bool setJSDocument_onendedSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3783{
3784 auto& vm = JSC::getVM(&lexicalGlobalObject);
3785 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().endedEvent, value);
3786 vm.heap.writeBarrier(&thisObject, value);
3787 ensureStillAliveHere(value);
3788
3789 return true;
3790}
3791
3792JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onended, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3793{
3794 return IDLAttribute<JSDocument>::set<setJSDocument_onendedSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3795}
3796
3797static inline JSValue jsDocument_onerrorGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3798{
3799 UNUSED_PARAM(lexicalGlobalObject);
3800 return eventHandlerAttribute(thisObject.wrapped(), eventNames().errorEvent, worldForDOMObject(thisObject));
3801}
3802
3803JSC_DEFINE_CUSTOM_GETTER(jsDocument_onerror, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3804{
3805 return IDLAttribute<JSDocument>::get<jsDocument_onerrorGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3806}
3807
3808static inline bool setJSDocument_onerrorSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3809{
3810 auto& vm = JSC::getVM(&lexicalGlobalObject);
3811 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().errorEvent, value);
3812 vm.heap.writeBarrier(&thisObject, value);
3813 ensureStillAliveHere(value);
3814
3815 return true;
3816}
3817
3818JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onerror, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3819{
3820 return IDLAttribute<JSDocument>::set<setJSDocument_onerrorSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3821}
3822
3823static inline JSValue jsDocument_onfocusGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3824{
3825 UNUSED_PARAM(lexicalGlobalObject);
3826 return eventHandlerAttribute(thisObject.wrapped(), eventNames().focusEvent, worldForDOMObject(thisObject));
3827}
3828
3829JSC_DEFINE_CUSTOM_GETTER(jsDocument_onfocus, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3830{
3831 return IDLAttribute<JSDocument>::get<jsDocument_onfocusGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3832}
3833
3834static inline bool setJSDocument_onfocusSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3835{
3836 auto& vm = JSC::getVM(&lexicalGlobalObject);
3837 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().focusEvent, value);
3838 vm.heap.writeBarrier(&thisObject, value);
3839 ensureStillAliveHere(value);
3840
3841 return true;
3842}
3843
3844JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onfocus, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3845{
3846 return IDLAttribute<JSDocument>::set<setJSDocument_onfocusSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3847}
3848
3849static inline JSValue jsDocument_oninputGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3850{
3851 UNUSED_PARAM(lexicalGlobalObject);
3852 return eventHandlerAttribute(thisObject.wrapped(), eventNames().inputEvent, worldForDOMObject(thisObject));
3853}
3854
3855JSC_DEFINE_CUSTOM_GETTER(jsDocument_oninput, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3856{
3857 return IDLAttribute<JSDocument>::get<jsDocument_oninputGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3858}
3859
3860static inline bool setJSDocument_oninputSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3861{
3862 auto& vm = JSC::getVM(&lexicalGlobalObject);
3863 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().inputEvent, value);
3864 vm.heap.writeBarrier(&thisObject, value);
3865 ensureStillAliveHere(value);
3866
3867 return true;
3868}
3869
3870JSC_DEFINE_CUSTOM_SETTER(setJSDocument_oninput, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3871{
3872 return IDLAttribute<JSDocument>::set<setJSDocument_oninputSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3873}
3874
3875static inline JSValue jsDocument_oninvalidGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3876{
3877 UNUSED_PARAM(lexicalGlobalObject);
3878 return eventHandlerAttribute(thisObject.wrapped(), eventNames().invalidEvent, worldForDOMObject(thisObject));
3879}
3880
3881JSC_DEFINE_CUSTOM_GETTER(jsDocument_oninvalid, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3882{
3883 return IDLAttribute<JSDocument>::get<jsDocument_oninvalidGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3884}
3885
3886static inline bool setJSDocument_oninvalidSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3887{
3888 auto& vm = JSC::getVM(&lexicalGlobalObject);
3889 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().invalidEvent, value);
3890 vm.heap.writeBarrier(&thisObject, value);
3891 ensureStillAliveHere(value);
3892
3893 return true;
3894}
3895
3896JSC_DEFINE_CUSTOM_SETTER(setJSDocument_oninvalid, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3897{
3898 return IDLAttribute<JSDocument>::set<setJSDocument_oninvalidSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3899}
3900
3901static inline JSValue jsDocument_onkeydownGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3902{
3903 UNUSED_PARAM(lexicalGlobalObject);
3904 return eventHandlerAttribute(thisObject.wrapped(), eventNames().keydownEvent, worldForDOMObject(thisObject));
3905}
3906
3907JSC_DEFINE_CUSTOM_GETTER(jsDocument_onkeydown, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3908{
3909 return IDLAttribute<JSDocument>::get<jsDocument_onkeydownGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3910}
3911
3912static inline bool setJSDocument_onkeydownSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3913{
3914 auto& vm = JSC::getVM(&lexicalGlobalObject);
3915 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().keydownEvent, value);
3916 vm.heap.writeBarrier(&thisObject, value);
3917 ensureStillAliveHere(value);
3918
3919 return true;
3920}
3921
3922JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onkeydown, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3923{
3924 return IDLAttribute<JSDocument>::set<setJSDocument_onkeydownSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3925}
3926
3927static inline JSValue jsDocument_onkeypressGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3928{
3929 UNUSED_PARAM(lexicalGlobalObject);
3930 return eventHandlerAttribute(thisObject.wrapped(), eventNames().keypressEvent, worldForDOMObject(thisObject));
3931}
3932
3933JSC_DEFINE_CUSTOM_GETTER(jsDocument_onkeypress, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3934{
3935 return IDLAttribute<JSDocument>::get<jsDocument_onkeypressGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3936}
3937
3938static inline bool setJSDocument_onkeypressSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3939{
3940 auto& vm = JSC::getVM(&lexicalGlobalObject);
3941 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().keypressEvent, value);
3942 vm.heap.writeBarrier(&thisObject, value);
3943 ensureStillAliveHere(value);
3944
3945 return true;
3946}
3947
3948JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onkeypress, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3949{
3950 return IDLAttribute<JSDocument>::set<setJSDocument_onkeypressSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3951}
3952
3953static inline JSValue jsDocument_onkeyupGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3954{
3955 UNUSED_PARAM(lexicalGlobalObject);
3956 return eventHandlerAttribute(thisObject.wrapped(), eventNames().keyupEvent, worldForDOMObject(thisObject));
3957}
3958
3959JSC_DEFINE_CUSTOM_GETTER(jsDocument_onkeyup, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3960{
3961 return IDLAttribute<JSDocument>::get<jsDocument_onkeyupGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3962}
3963
3964static inline bool setJSDocument_onkeyupSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3965{
3966 auto& vm = JSC::getVM(&lexicalGlobalObject);
3967 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().keyupEvent, value);
3968 vm.heap.writeBarrier(&thisObject, value);
3969 ensureStillAliveHere(value);
3970
3971 return true;
3972}
3973
3974JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onkeyup, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
3975{
3976 return IDLAttribute<JSDocument>::set<setJSDocument_onkeyupSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
3977}
3978
3979static inline JSValue jsDocument_onloadGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
3980{
3981 UNUSED_PARAM(lexicalGlobalObject);
3982 return eventHandlerAttribute(thisObject.wrapped(), eventNames().loadEvent, worldForDOMObject(thisObject));
3983}
3984
3985JSC_DEFINE_CUSTOM_GETTER(jsDocument_onload, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
3986{
3987 return IDLAttribute<JSDocument>::get<jsDocument_onloadGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
3988}
3989
3990static inline bool setJSDocument_onloadSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
3991{
3992 auto& vm = JSC::getVM(&lexicalGlobalObject);
3993 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().loadEvent, value);
3994 vm.heap.writeBarrier(&thisObject, value);
3995 ensureStillAliveHere(value);
3996
3997 return true;
3998}
3999
4000JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onload, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4001{
4002 return IDLAttribute<JSDocument>::set<setJSDocument_onloadSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4003}
4004
4005static inline JSValue jsDocument_onloadeddataGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4006{
4007 UNUSED_PARAM(lexicalGlobalObject);
4008 return eventHandlerAttribute(thisObject.wrapped(), eventNames().loadeddataEvent, worldForDOMObject(thisObject));
4009}
4010
4011JSC_DEFINE_CUSTOM_GETTER(jsDocument_onloadeddata, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4012{
4013 return IDLAttribute<JSDocument>::get<jsDocument_onloadeddataGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4014}
4015
4016static inline bool setJSDocument_onloadeddataSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4017{
4018 auto& vm = JSC::getVM(&lexicalGlobalObject);
4019 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().loadeddataEvent, value);
4020 vm.heap.writeBarrier(&thisObject, value);
4021 ensureStillAliveHere(value);
4022
4023 return true;
4024}
4025
4026JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onloadeddata, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4027{
4028 return IDLAttribute<JSDocument>::set<setJSDocument_onloadeddataSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4029}
4030
4031static inline JSValue jsDocument_onloadedmetadataGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4032{
4033 UNUSED_PARAM(lexicalGlobalObject);
4034 return eventHandlerAttribute(thisObject.wrapped(), eventNames().loadedmetadataEvent, worldForDOMObject(thisObject));
4035}
4036
4037JSC_DEFINE_CUSTOM_GETTER(jsDocument_onloadedmetadata, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4038{
4039 return IDLAttribute<JSDocument>::get<jsDocument_onloadedmetadataGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4040}
4041
4042static inline bool setJSDocument_onloadedmetadataSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4043{
4044 auto& vm = JSC::getVM(&lexicalGlobalObject);
4045 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().loadedmetadataEvent, value);
4046 vm.heap.writeBarrier(&thisObject, value);
4047 ensureStillAliveHere(value);
4048
4049 return true;
4050}
4051
4052JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onloadedmetadata, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4053{
4054 return IDLAttribute<JSDocument>::set<setJSDocument_onloadedmetadataSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4055}
4056
4057static inline JSValue jsDocument_onloadstartGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4058{
4059 UNUSED_PARAM(lexicalGlobalObject);
4060 return eventHandlerAttribute(thisObject.wrapped(), eventNames().loadstartEvent, worldForDOMObject(thisObject));
4061}
4062
4063JSC_DEFINE_CUSTOM_GETTER(jsDocument_onloadstart, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4064{
4065 return IDLAttribute<JSDocument>::get<jsDocument_onloadstartGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4066}
4067
4068static inline bool setJSDocument_onloadstartSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4069{
4070 auto& vm = JSC::getVM(&lexicalGlobalObject);
4071 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().loadstartEvent, value);
4072 vm.heap.writeBarrier(&thisObject, value);
4073 ensureStillAliveHere(value);
4074
4075 return true;
4076}
4077
4078JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onloadstart, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4079{
4080 return IDLAttribute<JSDocument>::set<setJSDocument_onloadstartSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4081}
4082
4083static inline JSValue jsDocument_onmousedownGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4084{
4085 UNUSED_PARAM(lexicalGlobalObject);
4086 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mousedownEvent, worldForDOMObject(thisObject));
4087}
4088
4089JSC_DEFINE_CUSTOM_GETTER(jsDocument_onmousedown, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4090{
4091 return IDLAttribute<JSDocument>::get<jsDocument_onmousedownGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4092}
4093
4094static inline bool setJSDocument_onmousedownSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4095{
4096 auto& vm = JSC::getVM(&lexicalGlobalObject);
4097 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().mousedownEvent, value);
4098 vm.heap.writeBarrier(&thisObject, value);
4099 ensureStillAliveHere(value);
4100
4101 return true;
4102}
4103
4104JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onmousedown, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4105{
4106 return IDLAttribute<JSDocument>::set<setJSDocument_onmousedownSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4107}
4108
4109static inline JSValue jsDocument_onmouseenterGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4110{
4111 UNUSED_PARAM(lexicalGlobalObject);
4112 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mouseenterEvent, worldForDOMObject(thisObject));
4113}
4114
4115JSC_DEFINE_CUSTOM_GETTER(jsDocument_onmouseenter, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4116{
4117 return IDLAttribute<JSDocument>::get<jsDocument_onmouseenterGetter, CastedThisErrorBehavior::ReturnEarly>(*lexicalGlobalObject, thisValue, attributeName);
4118}
4119
4120static inline bool setJSDocument_onmouseenterSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4121{
4122 auto& vm = JSC::getVM(&lexicalGlobalObject);
4123 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().mouseenterEvent, value);
4124 vm.heap.writeBarrier(&thisObject, value);
4125 ensureStillAliveHere(value);
4126
4127 return true;
4128}
4129
4130JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onmouseenter, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4131{
4132 return IDLAttribute<JSDocument>::set<setJSDocument_onmouseenterSetter, CastedThisErrorBehavior::ReturnEarly>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4133}
4134
4135static inline JSValue jsDocument_onmouseleaveGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4136{
4137 UNUSED_PARAM(lexicalGlobalObject);
4138 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mouseleaveEvent, worldForDOMObject(thisObject));
4139}
4140
4141JSC_DEFINE_CUSTOM_GETTER(jsDocument_onmouseleave, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4142{
4143 return IDLAttribute<JSDocument>::get<jsDocument_onmouseleaveGetter, CastedThisErrorBehavior::ReturnEarly>(*lexicalGlobalObject, thisValue, attributeName);
4144}
4145
4146static inline bool setJSDocument_onmouseleaveSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4147{
4148 auto& vm = JSC::getVM(&lexicalGlobalObject);
4149 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().mouseleaveEvent, value);
4150 vm.heap.writeBarrier(&thisObject, value);
4151 ensureStillAliveHere(value);
4152
4153 return true;
4154}
4155
4156JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onmouseleave, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4157{
4158 return IDLAttribute<JSDocument>::set<setJSDocument_onmouseleaveSetter, CastedThisErrorBehavior::ReturnEarly>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4159}
4160
4161static inline JSValue jsDocument_onmousemoveGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4162{
4163 UNUSED_PARAM(lexicalGlobalObject);
4164 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mousemoveEvent, worldForDOMObject(thisObject));
4165}
4166
4167JSC_DEFINE_CUSTOM_GETTER(jsDocument_onmousemove, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4168{
4169 return IDLAttribute<JSDocument>::get<jsDocument_onmousemoveGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4170}
4171
4172static inline bool setJSDocument_onmousemoveSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4173{
4174 auto& vm = JSC::getVM(&lexicalGlobalObject);
4175 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().mousemoveEvent, value);
4176 vm.heap.writeBarrier(&thisObject, value);
4177 ensureStillAliveHere(value);
4178
4179 return true;
4180}
4181
4182JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onmousemove, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4183{
4184 return IDLAttribute<JSDocument>::set<setJSDocument_onmousemoveSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4185}
4186
4187static inline JSValue jsDocument_onmouseoutGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4188{
4189 UNUSED_PARAM(lexicalGlobalObject);
4190 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mouseoutEvent, worldForDOMObject(thisObject));
4191}
4192
4193JSC_DEFINE_CUSTOM_GETTER(jsDocument_onmouseout, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4194{
4195 return IDLAttribute<JSDocument>::get<jsDocument_onmouseoutGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4196}
4197
4198static inline bool setJSDocument_onmouseoutSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4199{
4200 auto& vm = JSC::getVM(&lexicalGlobalObject);
4201 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().mouseoutEvent, value);
4202 vm.heap.writeBarrier(&thisObject, value);
4203 ensureStillAliveHere(value);
4204
4205 return true;
4206}
4207
4208JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onmouseout, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4209{
4210 return IDLAttribute<JSDocument>::set<setJSDocument_onmouseoutSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4211}
4212
4213static inline JSValue jsDocument_onmouseoverGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4214{
4215 UNUSED_PARAM(lexicalGlobalObject);
4216 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mouseoverEvent, worldForDOMObject(thisObject));
4217}
4218
4219JSC_DEFINE_CUSTOM_GETTER(jsDocument_onmouseover, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4220{
4221 return IDLAttribute<JSDocument>::get<jsDocument_onmouseoverGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4222}
4223
4224static inline bool setJSDocument_onmouseoverSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4225{
4226 auto& vm = JSC::getVM(&lexicalGlobalObject);
4227 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().mouseoverEvent, value);
4228 vm.heap.writeBarrier(&thisObject, value);
4229 ensureStillAliveHere(value);
4230
4231 return true;
4232}
4233
4234JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onmouseover, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4235{
4236 return IDLAttribute<JSDocument>::set<setJSDocument_onmouseoverSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4237}
4238
4239static inline JSValue jsDocument_onmouseupGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4240{
4241 UNUSED_PARAM(lexicalGlobalObject);
4242 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mouseupEvent, worldForDOMObject(thisObject));
4243}
4244
4245JSC_DEFINE_CUSTOM_GETTER(jsDocument_onmouseup, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4246{
4247 return IDLAttribute<JSDocument>::get<jsDocument_onmouseupGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4248}
4249
4250static inline bool setJSDocument_onmouseupSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4251{
4252 auto& vm = JSC::getVM(&lexicalGlobalObject);
4253 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().mouseupEvent, value);
4254 vm.heap.writeBarrier(&thisObject, value);
4255 ensureStillAliveHere(value);
4256
4257 return true;
4258}
4259
4260JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onmouseup, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4261{
4262 return IDLAttribute<JSDocument>::set<setJSDocument_onmouseupSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4263}
4264
4265static inline JSValue jsDocument_onpauseGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4266{
4267 UNUSED_PARAM(lexicalGlobalObject);
4268 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pauseEvent, worldForDOMObject(thisObject));
4269}
4270
4271JSC_DEFINE_CUSTOM_GETTER(jsDocument_onpause, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4272{
4273 return IDLAttribute<JSDocument>::get<jsDocument_onpauseGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4274}
4275
4276static inline bool setJSDocument_onpauseSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4277{
4278 auto& vm = JSC::getVM(&lexicalGlobalObject);
4279 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().pauseEvent, value);
4280 vm.heap.writeBarrier(&thisObject, value);
4281 ensureStillAliveHere(value);
4282
4283 return true;
4284}
4285
4286JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onpause, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4287{
4288 return IDLAttribute<JSDocument>::set<setJSDocument_onpauseSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4289}
4290
4291static inline JSValue jsDocument_onplayGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4292{
4293 UNUSED_PARAM(lexicalGlobalObject);
4294 return eventHandlerAttribute(thisObject.wrapped(), eventNames().playEvent, worldForDOMObject(thisObject));
4295}
4296
4297JSC_DEFINE_CUSTOM_GETTER(jsDocument_onplay, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4298{
4299 return IDLAttribute<JSDocument>::get<jsDocument_onplayGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4300}
4301
4302static inline bool setJSDocument_onplaySetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4303{
4304 auto& vm = JSC::getVM(&lexicalGlobalObject);
4305 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().playEvent, value);
4306 vm.heap.writeBarrier(&thisObject, value);
4307 ensureStillAliveHere(value);
4308
4309 return true;
4310}
4311
4312JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onplay, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4313{
4314 return IDLAttribute<JSDocument>::set<setJSDocument_onplaySetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4315}
4316
4317static inline JSValue jsDocument_onplayingGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4318{
4319 UNUSED_PARAM(lexicalGlobalObject);
4320 return eventHandlerAttribute(thisObject.wrapped(), eventNames().playingEvent, worldForDOMObject(thisObject));
4321}
4322
4323JSC_DEFINE_CUSTOM_GETTER(jsDocument_onplaying, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4324{
4325 return IDLAttribute<JSDocument>::get<jsDocument_onplayingGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4326}
4327
4328static inline bool setJSDocument_onplayingSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4329{
4330 auto& vm = JSC::getVM(&lexicalGlobalObject);
4331 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().playingEvent, value);
4332 vm.heap.writeBarrier(&thisObject, value);
4333 ensureStillAliveHere(value);
4334
4335 return true;
4336}
4337
4338JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onplaying, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4339{
4340 return IDLAttribute<JSDocument>::set<setJSDocument_onplayingSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4341}
4342
4343static inline JSValue jsDocument_onprogressGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4344{
4345 UNUSED_PARAM(lexicalGlobalObject);
4346 return eventHandlerAttribute(thisObject.wrapped(), eventNames().progressEvent, worldForDOMObject(thisObject));
4347}
4348
4349JSC_DEFINE_CUSTOM_GETTER(jsDocument_onprogress, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4350{
4351 return IDLAttribute<JSDocument>::get<jsDocument_onprogressGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4352}
4353
4354static inline bool setJSDocument_onprogressSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4355{
4356 auto& vm = JSC::getVM(&lexicalGlobalObject);
4357 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().progressEvent, value);
4358 vm.heap.writeBarrier(&thisObject, value);
4359 ensureStillAliveHere(value);
4360
4361 return true;
4362}
4363
4364JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onprogress, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4365{
4366 return IDLAttribute<JSDocument>::set<setJSDocument_onprogressSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4367}
4368
4369static inline JSValue jsDocument_onratechangeGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4370{
4371 UNUSED_PARAM(lexicalGlobalObject);
4372 return eventHandlerAttribute(thisObject.wrapped(), eventNames().ratechangeEvent, worldForDOMObject(thisObject));
4373}
4374
4375JSC_DEFINE_CUSTOM_GETTER(jsDocument_onratechange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4376{
4377 return IDLAttribute<JSDocument>::get<jsDocument_onratechangeGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4378}
4379
4380static inline bool setJSDocument_onratechangeSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4381{
4382 auto& vm = JSC::getVM(&lexicalGlobalObject);
4383 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().ratechangeEvent, value);
4384 vm.heap.writeBarrier(&thisObject, value);
4385 ensureStillAliveHere(value);
4386
4387 return true;
4388}
4389
4390JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onratechange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4391{
4392 return IDLAttribute<JSDocument>::set<setJSDocument_onratechangeSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4393}
4394
4395static inline JSValue jsDocument_onresetGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4396{
4397 UNUSED_PARAM(lexicalGlobalObject);
4398 return eventHandlerAttribute(thisObject.wrapped(), eventNames().resetEvent, worldForDOMObject(thisObject));
4399}
4400
4401JSC_DEFINE_CUSTOM_GETTER(jsDocument_onreset, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4402{
4403 return IDLAttribute<JSDocument>::get<jsDocument_onresetGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4404}
4405
4406static inline bool setJSDocument_onresetSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4407{
4408 auto& vm = JSC::getVM(&lexicalGlobalObject);
4409 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().resetEvent, value);
4410 vm.heap.writeBarrier(&thisObject, value);
4411 ensureStillAliveHere(value);
4412
4413 return true;
4414}
4415
4416JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onreset, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4417{
4418 return IDLAttribute<JSDocument>::set<setJSDocument_onresetSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4419}
4420
4421static inline JSValue jsDocument_onresizeGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4422{
4423 UNUSED_PARAM(lexicalGlobalObject);
4424 return eventHandlerAttribute(thisObject.wrapped(), eventNames().resizeEvent, worldForDOMObject(thisObject));
4425}
4426
4427JSC_DEFINE_CUSTOM_GETTER(jsDocument_onresize, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4428{
4429 return IDLAttribute<JSDocument>::get<jsDocument_onresizeGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4430}
4431
4432static inline bool setJSDocument_onresizeSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4433{
4434 auto& vm = JSC::getVM(&lexicalGlobalObject);
4435 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().resizeEvent, value);
4436 vm.heap.writeBarrier(&thisObject, value);
4437 ensureStillAliveHere(value);
4438
4439 return true;
4440}
4441
4442JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onresize, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4443{
4444 return IDLAttribute<JSDocument>::set<setJSDocument_onresizeSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4445}
4446
4447static inline JSValue jsDocument_onscrollGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4448{
4449 UNUSED_PARAM(lexicalGlobalObject);
4450 return eventHandlerAttribute(thisObject.wrapped(), eventNames().scrollEvent, worldForDOMObject(thisObject));
4451}
4452
4453JSC_DEFINE_CUSTOM_GETTER(jsDocument_onscroll, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4454{
4455 return IDLAttribute<JSDocument>::get<jsDocument_onscrollGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4456}
4457
4458static inline bool setJSDocument_onscrollSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4459{
4460 auto& vm = JSC::getVM(&lexicalGlobalObject);
4461 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().scrollEvent, value);
4462 vm.heap.writeBarrier(&thisObject, value);
4463 ensureStillAliveHere(value);
4464
4465 return true;
4466}
4467
4468JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onscroll, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4469{
4470 return IDLAttribute<JSDocument>::set<setJSDocument_onscrollSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4471}
4472
4473static inline JSValue jsDocument_onseekedGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4474{
4475 UNUSED_PARAM(lexicalGlobalObject);
4476 return eventHandlerAttribute(thisObject.wrapped(), eventNames().seekedEvent, worldForDOMObject(thisObject));
4477}
4478
4479JSC_DEFINE_CUSTOM_GETTER(jsDocument_onseeked, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4480{
4481 return IDLAttribute<JSDocument>::get<jsDocument_onseekedGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4482}
4483
4484static inline bool setJSDocument_onseekedSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4485{
4486 auto& vm = JSC::getVM(&lexicalGlobalObject);
4487 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().seekedEvent, value);
4488 vm.heap.writeBarrier(&thisObject, value);
4489 ensureStillAliveHere(value);
4490
4491 return true;
4492}
4493
4494JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onseeked, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4495{
4496 return IDLAttribute<JSDocument>::set<setJSDocument_onseekedSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4497}
4498
4499static inline JSValue jsDocument_onseekingGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4500{
4501 UNUSED_PARAM(lexicalGlobalObject);
4502 return eventHandlerAttribute(thisObject.wrapped(), eventNames().seekingEvent, worldForDOMObject(thisObject));
4503}
4504
4505JSC_DEFINE_CUSTOM_GETTER(jsDocument_onseeking, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4506{
4507 return IDLAttribute<JSDocument>::get<jsDocument_onseekingGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4508}
4509
4510static inline bool setJSDocument_onseekingSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4511{
4512 auto& vm = JSC::getVM(&lexicalGlobalObject);
4513 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().seekingEvent, value);
4514 vm.heap.writeBarrier(&thisObject, value);
4515 ensureStillAliveHere(value);
4516
4517 return true;
4518}
4519
4520JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onseeking, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4521{
4522 return IDLAttribute<JSDocument>::set<setJSDocument_onseekingSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4523}
4524
4525static inline JSValue jsDocument_onselectGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4526{
4527 UNUSED_PARAM(lexicalGlobalObject);
4528 return eventHandlerAttribute(thisObject.wrapped(), eventNames().selectEvent, worldForDOMObject(thisObject));
4529}
4530
4531JSC_DEFINE_CUSTOM_GETTER(jsDocument_onselect, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4532{
4533 return IDLAttribute<JSDocument>::get<jsDocument_onselectGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4534}
4535
4536static inline bool setJSDocument_onselectSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4537{
4538 auto& vm = JSC::getVM(&lexicalGlobalObject);
4539 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().selectEvent, value);
4540 vm.heap.writeBarrier(&thisObject, value);
4541 ensureStillAliveHere(value);
4542
4543 return true;
4544}
4545
4546JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onselect, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4547{
4548 return IDLAttribute<JSDocument>::set<setJSDocument_onselectSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4549}
4550
4551static inline JSValue jsDocument_onslotchangeGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4552{
4553 UNUSED_PARAM(lexicalGlobalObject);
4554 return eventHandlerAttribute(thisObject.wrapped(), eventNames().slotchangeEvent, worldForDOMObject(thisObject));
4555}
4556
4557JSC_DEFINE_CUSTOM_GETTER(jsDocument_onslotchange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4558{
4559 return IDLAttribute<JSDocument>::get<jsDocument_onslotchangeGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4560}
4561
4562static inline bool setJSDocument_onslotchangeSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4563{
4564 auto& vm = JSC::getVM(&lexicalGlobalObject);
4565 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().slotchangeEvent, value);
4566 vm.heap.writeBarrier(&thisObject, value);
4567 ensureStillAliveHere(value);
4568
4569 return true;
4570}
4571
4572JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onslotchange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4573{
4574 return IDLAttribute<JSDocument>::set<setJSDocument_onslotchangeSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4575}
4576
4577static inline JSValue jsDocument_onstalledGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4578{
4579 UNUSED_PARAM(lexicalGlobalObject);
4580 return eventHandlerAttribute(thisObject.wrapped(), eventNames().stalledEvent, worldForDOMObject(thisObject));
4581}
4582
4583JSC_DEFINE_CUSTOM_GETTER(jsDocument_onstalled, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4584{
4585 return IDLAttribute<JSDocument>::get<jsDocument_onstalledGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4586}
4587
4588static inline bool setJSDocument_onstalledSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4589{
4590 auto& vm = JSC::getVM(&lexicalGlobalObject);
4591 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().stalledEvent, value);
4592 vm.heap.writeBarrier(&thisObject, value);
4593 ensureStillAliveHere(value);
4594
4595 return true;
4596}
4597
4598JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onstalled, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4599{
4600 return IDLAttribute<JSDocument>::set<setJSDocument_onstalledSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4601}
4602
4603static inline JSValue jsDocument_onsubmitGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4604{
4605 UNUSED_PARAM(lexicalGlobalObject);
4606 return eventHandlerAttribute(thisObject.wrapped(), eventNames().submitEvent, worldForDOMObject(thisObject));
4607}
4608
4609JSC_DEFINE_CUSTOM_GETTER(jsDocument_onsubmit, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4610{
4611 return IDLAttribute<JSDocument>::get<jsDocument_onsubmitGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4612}
4613
4614static inline bool setJSDocument_onsubmitSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4615{
4616 auto& vm = JSC::getVM(&lexicalGlobalObject);
4617 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().submitEvent, value);
4618 vm.heap.writeBarrier(&thisObject, value);
4619 ensureStillAliveHere(value);
4620
4621 return true;
4622}
4623
4624JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onsubmit, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4625{
4626 return IDLAttribute<JSDocument>::set<setJSDocument_onsubmitSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4627}
4628
4629static inline JSValue jsDocument_onsuspendGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4630{
4631 UNUSED_PARAM(lexicalGlobalObject);
4632 return eventHandlerAttribute(thisObject.wrapped(), eventNames().suspendEvent, worldForDOMObject(thisObject));
4633}
4634
4635JSC_DEFINE_CUSTOM_GETTER(jsDocument_onsuspend, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4636{
4637 return IDLAttribute<JSDocument>::get<jsDocument_onsuspendGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4638}
4639
4640static inline bool setJSDocument_onsuspendSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4641{
4642 auto& vm = JSC::getVM(&lexicalGlobalObject);
4643 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().suspendEvent, value);
4644 vm.heap.writeBarrier(&thisObject, value);
4645 ensureStillAliveHere(value);
4646
4647 return true;
4648}
4649
4650JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onsuspend, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4651{
4652 return IDLAttribute<JSDocument>::set<setJSDocument_onsuspendSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4653}
4654
4655static inline JSValue jsDocument_ontimeupdateGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4656{
4657 UNUSED_PARAM(lexicalGlobalObject);
4658 return eventHandlerAttribute(thisObject.wrapped(), eventNames().timeupdateEvent, worldForDOMObject(thisObject));
4659}
4660
4661JSC_DEFINE_CUSTOM_GETTER(jsDocument_ontimeupdate, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4662{
4663 return IDLAttribute<JSDocument>::get<jsDocument_ontimeupdateGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4664}
4665
4666static inline bool setJSDocument_ontimeupdateSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4667{
4668 auto& vm = JSC::getVM(&lexicalGlobalObject);
4669 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().timeupdateEvent, value);
4670 vm.heap.writeBarrier(&thisObject, value);
4671 ensureStillAliveHere(value);
4672
4673 return true;
4674}
4675
4676JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ontimeupdate, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4677{
4678 return IDLAttribute<JSDocument>::set<setJSDocument_ontimeupdateSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4679}
4680
4681static inline JSValue jsDocument_ontoggleGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4682{
4683 UNUSED_PARAM(lexicalGlobalObject);
4684 return eventHandlerAttribute(thisObject.wrapped(), eventNames().toggleEvent, worldForDOMObject(thisObject));
4685}
4686
4687JSC_DEFINE_CUSTOM_GETTER(jsDocument_ontoggle, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4688{
4689 return IDLAttribute<JSDocument>::get<jsDocument_ontoggleGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4690}
4691
4692static inline bool setJSDocument_ontoggleSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4693{
4694 auto& vm = JSC::getVM(&lexicalGlobalObject);
4695 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().toggleEvent, value);
4696 vm.heap.writeBarrier(&thisObject, value);
4697 ensureStillAliveHere(value);
4698
4699 return true;
4700}
4701
4702JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ontoggle, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4703{
4704 return IDLAttribute<JSDocument>::set<setJSDocument_ontoggleSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4705}
4706
4707static inline JSValue jsDocument_onvolumechangeGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4708{
4709 UNUSED_PARAM(lexicalGlobalObject);
4710 return eventHandlerAttribute(thisObject.wrapped(), eventNames().volumechangeEvent, worldForDOMObject(thisObject));
4711}
4712
4713JSC_DEFINE_CUSTOM_GETTER(jsDocument_onvolumechange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4714{
4715 return IDLAttribute<JSDocument>::get<jsDocument_onvolumechangeGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4716}
4717
4718static inline bool setJSDocument_onvolumechangeSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4719{
4720 auto& vm = JSC::getVM(&lexicalGlobalObject);
4721 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().volumechangeEvent, value);
4722 vm.heap.writeBarrier(&thisObject, value);
4723 ensureStillAliveHere(value);
4724
4725 return true;
4726}
4727
4728JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onvolumechange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4729{
4730 return IDLAttribute<JSDocument>::set<setJSDocument_onvolumechangeSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4731}
4732
4733static inline JSValue jsDocument_onwaitingGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4734{
4735 UNUSED_PARAM(lexicalGlobalObject);
4736 return eventHandlerAttribute(thisObject.wrapped(), eventNames().waitingEvent, worldForDOMObject(thisObject));
4737}
4738
4739JSC_DEFINE_CUSTOM_GETTER(jsDocument_onwaiting, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4740{
4741 return IDLAttribute<JSDocument>::get<jsDocument_onwaitingGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4742}
4743
4744static inline bool setJSDocument_onwaitingSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4745{
4746 auto& vm = JSC::getVM(&lexicalGlobalObject);
4747 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().waitingEvent, value);
4748 vm.heap.writeBarrier(&thisObject, value);
4749 ensureStillAliveHere(value);
4750
4751 return true;
4752}
4753
4754JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onwaiting, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4755{
4756 return IDLAttribute<JSDocument>::set<setJSDocument_onwaitingSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4757}
4758
4759static inline JSValue jsDocument_onwebkitanimationendGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4760{
4761 UNUSED_PARAM(lexicalGlobalObject);
4762 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitAnimationEndEvent, worldForDOMObject(thisObject));
4763}
4764
4765JSC_DEFINE_CUSTOM_GETTER(jsDocument_onwebkitanimationend, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4766{
4767 return IDLAttribute<JSDocument>::get<jsDocument_onwebkitanimationendGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4768}
4769
4770static inline bool setJSDocument_onwebkitanimationendSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4771{
4772 auto& vm = JSC::getVM(&lexicalGlobalObject);
4773 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().webkitAnimationEndEvent, value);
4774 vm.heap.writeBarrier(&thisObject, value);
4775 ensureStillAliveHere(value);
4776
4777 return true;
4778}
4779
4780JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onwebkitanimationend, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4781{
4782 return IDLAttribute<JSDocument>::set<setJSDocument_onwebkitanimationendSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4783}
4784
4785static inline JSValue jsDocument_onwebkitanimationiterationGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4786{
4787 UNUSED_PARAM(lexicalGlobalObject);
4788 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitAnimationIterationEvent, worldForDOMObject(thisObject));
4789}
4790
4791JSC_DEFINE_CUSTOM_GETTER(jsDocument_onwebkitanimationiteration, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4792{
4793 return IDLAttribute<JSDocument>::get<jsDocument_onwebkitanimationiterationGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4794}
4795
4796static inline bool setJSDocument_onwebkitanimationiterationSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4797{
4798 auto& vm = JSC::getVM(&lexicalGlobalObject);
4799 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().webkitAnimationIterationEvent, value);
4800 vm.heap.writeBarrier(&thisObject, value);
4801 ensureStillAliveHere(value);
4802
4803 return true;
4804}
4805
4806JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onwebkitanimationiteration, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4807{
4808 return IDLAttribute<JSDocument>::set<setJSDocument_onwebkitanimationiterationSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4809}
4810
4811static inline JSValue jsDocument_onwebkitanimationstartGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4812{
4813 UNUSED_PARAM(lexicalGlobalObject);
4814 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitAnimationStartEvent, worldForDOMObject(thisObject));
4815}
4816
4817JSC_DEFINE_CUSTOM_GETTER(jsDocument_onwebkitanimationstart, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4818{
4819 return IDLAttribute<JSDocument>::get<jsDocument_onwebkitanimationstartGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4820}
4821
4822static inline bool setJSDocument_onwebkitanimationstartSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4823{
4824 auto& vm = JSC::getVM(&lexicalGlobalObject);
4825 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().webkitAnimationStartEvent, value);
4826 vm.heap.writeBarrier(&thisObject, value);
4827 ensureStillAliveHere(value);
4828
4829 return true;
4830}
4831
4832JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onwebkitanimationstart, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4833{
4834 return IDLAttribute<JSDocument>::set<setJSDocument_onwebkitanimationstartSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4835}
4836
4837static inline JSValue jsDocument_onwebkittransitionendGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4838{
4839 UNUSED_PARAM(lexicalGlobalObject);
4840 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitTransitionEndEvent, worldForDOMObject(thisObject));
4841}
4842
4843JSC_DEFINE_CUSTOM_GETTER(jsDocument_onwebkittransitionend, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4844{
4845 return IDLAttribute<JSDocument>::get<jsDocument_onwebkittransitionendGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4846}
4847
4848static inline bool setJSDocument_onwebkittransitionendSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4849{
4850 auto& vm = JSC::getVM(&lexicalGlobalObject);
4851 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().webkitTransitionEndEvent, value);
4852 vm.heap.writeBarrier(&thisObject, value);
4853 ensureStillAliveHere(value);
4854
4855 return true;
4856}
4857
4858JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onwebkittransitionend, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4859{
4860 return IDLAttribute<JSDocument>::set<setJSDocument_onwebkittransitionendSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4861}
4862
4863static inline JSValue jsDocument_onwheelGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4864{
4865 UNUSED_PARAM(lexicalGlobalObject);
4866 return eventHandlerAttribute(thisObject.wrapped(), eventNames().wheelEvent, worldForDOMObject(thisObject));
4867}
4868
4869JSC_DEFINE_CUSTOM_GETTER(jsDocument_onwheel, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4870{
4871 return IDLAttribute<JSDocument>::get<jsDocument_onwheelGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4872}
4873
4874static inline bool setJSDocument_onwheelSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4875{
4876 auto& vm = JSC::getVM(&lexicalGlobalObject);
4877 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().wheelEvent, value);
4878 vm.heap.writeBarrier(&thisObject, value);
4879 ensureStillAliveHere(value);
4880
4881 return true;
4882}
4883
4884JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onwheel, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4885{
4886 return IDLAttribute<JSDocument>::set<setJSDocument_onwheelSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4887}
4888
4889static inline JSValue jsDocument_onmousewheelGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4890{
4891 UNUSED_PARAM(lexicalGlobalObject);
4892 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mousewheelEvent, worldForDOMObject(thisObject));
4893}
4894
4895JSC_DEFINE_CUSTOM_GETTER(jsDocument_onmousewheel, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4896{
4897 return IDLAttribute<JSDocument>::get<jsDocument_onmousewheelGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4898}
4899
4900static inline bool setJSDocument_onmousewheelSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4901{
4902 auto& vm = JSC::getVM(&lexicalGlobalObject);
4903 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().mousewheelEvent, value);
4904 vm.heap.writeBarrier(&thisObject, value);
4905 ensureStillAliveHere(value);
4906
4907 return true;
4908}
4909
4910JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onmousewheel, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4911{
4912 return IDLAttribute<JSDocument>::set<setJSDocument_onmousewheelSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4913}
4914
4915static inline JSValue jsDocument_onsearchGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4916{
4917 UNUSED_PARAM(lexicalGlobalObject);
4918 return eventHandlerAttribute(thisObject.wrapped(), eventNames().searchEvent, worldForDOMObject(thisObject));
4919}
4920
4921JSC_DEFINE_CUSTOM_GETTER(jsDocument_onsearch, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4922{
4923 return IDLAttribute<JSDocument>::get<jsDocument_onsearchGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4924}
4925
4926static inline bool setJSDocument_onsearchSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4927{
4928 auto& vm = JSC::getVM(&lexicalGlobalObject);
4929 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().searchEvent, value);
4930 vm.heap.writeBarrier(&thisObject, value);
4931 ensureStillAliveHere(value);
4932
4933 return true;
4934}
4935
4936JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onsearch, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4937{
4938 return IDLAttribute<JSDocument>::set<setJSDocument_onsearchSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4939}
4940
4941#if ENABLE(TOUCH_EVENTS)
4942static inline JSValue jsDocument_ontouchcancelGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4943{
4944 UNUSED_PARAM(lexicalGlobalObject);
4945 return eventHandlerAttribute(thisObject.wrapped(), eventNames().touchcancelEvent, worldForDOMObject(thisObject));
4946}
4947
4948JSC_DEFINE_CUSTOM_GETTER(jsDocument_ontouchcancel, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4949{
4950 return IDLAttribute<JSDocument>::get<jsDocument_ontouchcancelGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4951}
4952
4953#endif
4954
4955#if ENABLE(TOUCH_EVENTS)
4956static inline bool setJSDocument_ontouchcancelSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4957{
4958 auto& vm = JSC::getVM(&lexicalGlobalObject);
4959 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().touchcancelEvent, value);
4960 vm.heap.writeBarrier(&thisObject, value);
4961 ensureStillAliveHere(value);
4962
4963 return true;
4964}
4965
4966JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ontouchcancel, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4967{
4968 return IDLAttribute<JSDocument>::set<setJSDocument_ontouchcancelSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
4969}
4970
4971#endif
4972
4973#if ENABLE(TOUCH_EVENTS)
4974static inline JSValue jsDocument_ontouchendGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
4975{
4976 UNUSED_PARAM(lexicalGlobalObject);
4977 return eventHandlerAttribute(thisObject.wrapped(), eventNames().touchendEvent, worldForDOMObject(thisObject));
4978}
4979
4980JSC_DEFINE_CUSTOM_GETTER(jsDocument_ontouchend, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
4981{
4982 return IDLAttribute<JSDocument>::get<jsDocument_ontouchendGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
4983}
4984
4985#endif
4986
4987#if ENABLE(TOUCH_EVENTS)
4988static inline bool setJSDocument_ontouchendSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
4989{
4990 auto& vm = JSC::getVM(&lexicalGlobalObject);
4991 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().touchendEvent, value);
4992 vm.heap.writeBarrier(&thisObject, value);
4993 ensureStillAliveHere(value);
4994
4995 return true;
4996}
4997
4998JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ontouchend, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
4999{
5000 return IDLAttribute<JSDocument>::set<setJSDocument_ontouchendSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5001}
5002
5003#endif
5004
5005#if ENABLE(TOUCH_EVENTS)
5006static inline JSValue jsDocument_ontouchmoveGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5007{
5008 UNUSED_PARAM(lexicalGlobalObject);
5009 return eventHandlerAttribute(thisObject.wrapped(), eventNames().touchmoveEvent, worldForDOMObject(thisObject));
5010}
5011
5012JSC_DEFINE_CUSTOM_GETTER(jsDocument_ontouchmove, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5013{
5014 return IDLAttribute<JSDocument>::get<jsDocument_ontouchmoveGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5015}
5016
5017#endif
5018
5019#if ENABLE(TOUCH_EVENTS)
5020static inline bool setJSDocument_ontouchmoveSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5021{
5022 auto& vm = JSC::getVM(&lexicalGlobalObject);
5023 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().touchmoveEvent, value);
5024 vm.heap.writeBarrier(&thisObject, value);
5025 ensureStillAliveHere(value);
5026
5027 return true;
5028}
5029
5030JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ontouchmove, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5031{
5032 return IDLAttribute<JSDocument>::set<setJSDocument_ontouchmoveSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5033}
5034
5035#endif
5036
5037#if ENABLE(TOUCH_EVENTS)
5038static inline JSValue jsDocument_ontouchstartGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5039{
5040 UNUSED_PARAM(lexicalGlobalObject);
5041 return eventHandlerAttribute(thisObject.wrapped(), eventNames().touchstartEvent, worldForDOMObject(thisObject));
5042}
5043
5044JSC_DEFINE_CUSTOM_GETTER(jsDocument_ontouchstart, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5045{
5046 return IDLAttribute<JSDocument>::get<jsDocument_ontouchstartGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5047}
5048
5049#endif
5050
5051#if ENABLE(TOUCH_EVENTS)
5052static inline bool setJSDocument_ontouchstartSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5053{
5054 auto& vm = JSC::getVM(&lexicalGlobalObject);
5055 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().touchstartEvent, value);
5056 vm.heap.writeBarrier(&thisObject, value);
5057 ensureStillAliveHere(value);
5058
5059 return true;
5060}
5061
5062JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ontouchstart, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5063{
5064 return IDLAttribute<JSDocument>::set<setJSDocument_ontouchstartSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5065}
5066
5067#endif
5068
5069#if ENABLE(TOUCH_EVENTS)
5070static inline JSValue jsDocument_ontouchforcechangeGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5071{
5072 UNUSED_PARAM(lexicalGlobalObject);
5073 return eventHandlerAttribute(thisObject.wrapped(), eventNames().touchforcechangeEvent, worldForDOMObject(thisObject));
5074}
5075
5076JSC_DEFINE_CUSTOM_GETTER(jsDocument_ontouchforcechange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5077{
5078 return IDLAttribute<JSDocument>::get<jsDocument_ontouchforcechangeGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5079}
5080
5081#endif
5082
5083#if ENABLE(TOUCH_EVENTS)
5084static inline bool setJSDocument_ontouchforcechangeSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5085{
5086 auto& vm = JSC::getVM(&lexicalGlobalObject);
5087 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().touchforcechangeEvent, value);
5088 vm.heap.writeBarrier(&thisObject, value);
5089 ensureStillAliveHere(value);
5090
5091 return true;
5092}
5093
5094JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ontouchforcechange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5095{
5096 return IDLAttribute<JSDocument>::set<setJSDocument_ontouchforcechangeSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5097}
5098
5099#endif
5100
5101#if ENABLE(MOUSE_FORCE_EVENTS)
5102static inline JSValue jsDocument_onwebkitmouseforcechangedGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5103{
5104 UNUSED_PARAM(lexicalGlobalObject);
5105 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitmouseforcechangedEvent, worldForDOMObject(thisObject));
5106}
5107
5108JSC_DEFINE_CUSTOM_GETTER(jsDocument_onwebkitmouseforcechanged, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5109{
5110 return IDLAttribute<JSDocument>::get<jsDocument_onwebkitmouseforcechangedGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5111}
5112
5113#endif
5114
5115#if ENABLE(MOUSE_FORCE_EVENTS)
5116static inline bool setJSDocument_onwebkitmouseforcechangedSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5117{
5118 auto& vm = JSC::getVM(&lexicalGlobalObject);
5119 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().webkitmouseforcechangedEvent, value);
5120 vm.heap.writeBarrier(&thisObject, value);
5121 ensureStillAliveHere(value);
5122
5123 return true;
5124}
5125
5126JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onwebkitmouseforcechanged, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5127{
5128 return IDLAttribute<JSDocument>::set<setJSDocument_onwebkitmouseforcechangedSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5129}
5130
5131#endif
5132
5133#if ENABLE(MOUSE_FORCE_EVENTS)
5134static inline JSValue jsDocument_onwebkitmouseforcedownGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5135{
5136 UNUSED_PARAM(lexicalGlobalObject);
5137 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitmouseforcedownEvent, worldForDOMObject(thisObject));
5138}
5139
5140JSC_DEFINE_CUSTOM_GETTER(jsDocument_onwebkitmouseforcedown, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5141{
5142 return IDLAttribute<JSDocument>::get<jsDocument_onwebkitmouseforcedownGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5143}
5144
5145#endif
5146
5147#if ENABLE(MOUSE_FORCE_EVENTS)
5148static inline bool setJSDocument_onwebkitmouseforcedownSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5149{
5150 auto& vm = JSC::getVM(&lexicalGlobalObject);
5151 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().webkitmouseforcedownEvent, value);
5152 vm.heap.writeBarrier(&thisObject, value);
5153 ensureStillAliveHere(value);
5154
5155 return true;
5156}
5157
5158JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onwebkitmouseforcedown, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5159{
5160 return IDLAttribute<JSDocument>::set<setJSDocument_onwebkitmouseforcedownSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5161}
5162
5163#endif
5164
5165#if ENABLE(MOUSE_FORCE_EVENTS)
5166static inline JSValue jsDocument_onwebkitmouseforcewillbeginGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5167{
5168 UNUSED_PARAM(lexicalGlobalObject);
5169 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitmouseforcewillbeginEvent, worldForDOMObject(thisObject));
5170}
5171
5172JSC_DEFINE_CUSTOM_GETTER(jsDocument_onwebkitmouseforcewillbegin, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5173{
5174 return IDLAttribute<JSDocument>::get<jsDocument_onwebkitmouseforcewillbeginGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5175}
5176
5177#endif
5178
5179#if ENABLE(MOUSE_FORCE_EVENTS)
5180static inline bool setJSDocument_onwebkitmouseforcewillbeginSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5181{
5182 auto& vm = JSC::getVM(&lexicalGlobalObject);
5183 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().webkitmouseforcewillbeginEvent, value);
5184 vm.heap.writeBarrier(&thisObject, value);
5185 ensureStillAliveHere(value);
5186
5187 return true;
5188}
5189
5190JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onwebkitmouseforcewillbegin, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5191{
5192 return IDLAttribute<JSDocument>::set<setJSDocument_onwebkitmouseforcewillbeginSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5193}
5194
5195#endif
5196
5197#if ENABLE(MOUSE_FORCE_EVENTS)
5198static inline JSValue jsDocument_onwebkitmouseforceupGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5199{
5200 UNUSED_PARAM(lexicalGlobalObject);
5201 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitmouseforceupEvent, worldForDOMObject(thisObject));
5202}
5203
5204JSC_DEFINE_CUSTOM_GETTER(jsDocument_onwebkitmouseforceup, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5205{
5206 return IDLAttribute<JSDocument>::get<jsDocument_onwebkitmouseforceupGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5207}
5208
5209#endif
5210
5211#if ENABLE(MOUSE_FORCE_EVENTS)
5212static inline bool setJSDocument_onwebkitmouseforceupSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5213{
5214 auto& vm = JSC::getVM(&lexicalGlobalObject);
5215 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().webkitmouseforceupEvent, value);
5216 vm.heap.writeBarrier(&thisObject, value);
5217 ensureStillAliveHere(value);
5218
5219 return true;
5220}
5221
5222JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onwebkitmouseforceup, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5223{
5224 return IDLAttribute<JSDocument>::set<setJSDocument_onwebkitmouseforceupSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5225}
5226
5227#endif
5228
5229static inline JSValue jsDocument_onanimationstartGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5230{
5231 UNUSED_PARAM(lexicalGlobalObject);
5232 return eventHandlerAttribute(thisObject.wrapped(), eventNames().animationstartEvent, worldForDOMObject(thisObject));
5233}
5234
5235JSC_DEFINE_CUSTOM_GETTER(jsDocument_onanimationstart, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5236{
5237 return IDLAttribute<JSDocument>::get<jsDocument_onanimationstartGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5238}
5239
5240static inline bool setJSDocument_onanimationstartSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5241{
5242 auto& vm = JSC::getVM(&lexicalGlobalObject);
5243 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().animationstartEvent, value);
5244 vm.heap.writeBarrier(&thisObject, value);
5245 ensureStillAliveHere(value);
5246
5247 return true;
5248}
5249
5250JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onanimationstart, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5251{
5252 return IDLAttribute<JSDocument>::set<setJSDocument_onanimationstartSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5253}
5254
5255static inline JSValue jsDocument_onanimationiterationGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5256{
5257 UNUSED_PARAM(lexicalGlobalObject);
5258 return eventHandlerAttribute(thisObject.wrapped(), eventNames().animationiterationEvent, worldForDOMObject(thisObject));
5259}
5260
5261JSC_DEFINE_CUSTOM_GETTER(jsDocument_onanimationiteration, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5262{
5263 return IDLAttribute<JSDocument>::get<jsDocument_onanimationiterationGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5264}
5265
5266static inline bool setJSDocument_onanimationiterationSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5267{
5268 auto& vm = JSC::getVM(&lexicalGlobalObject);
5269 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().animationiterationEvent, value);
5270 vm.heap.writeBarrier(&thisObject, value);
5271 ensureStillAliveHere(value);
5272
5273 return true;
5274}
5275
5276JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onanimationiteration, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5277{
5278 return IDLAttribute<JSDocument>::set<setJSDocument_onanimationiterationSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5279}
5280
5281static inline JSValue jsDocument_onanimationendGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5282{
5283 UNUSED_PARAM(lexicalGlobalObject);
5284 return eventHandlerAttribute(thisObject.wrapped(), eventNames().animationendEvent, worldForDOMObject(thisObject));
5285}
5286
5287JSC_DEFINE_CUSTOM_GETTER(jsDocument_onanimationend, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5288{
5289 return IDLAttribute<JSDocument>::get<jsDocument_onanimationendGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5290}
5291
5292static inline bool setJSDocument_onanimationendSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5293{
5294 auto& vm = JSC::getVM(&lexicalGlobalObject);
5295 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().animationendEvent, value);
5296 vm.heap.writeBarrier(&thisObject, value);
5297 ensureStillAliveHere(value);
5298
5299 return true;
5300}
5301
5302JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onanimationend, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5303{
5304 return IDLAttribute<JSDocument>::set<setJSDocument_onanimationendSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5305}
5306
5307static inline JSValue jsDocument_onanimationcancelGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5308{
5309 UNUSED_PARAM(lexicalGlobalObject);
5310 return eventHandlerAttribute(thisObject.wrapped(), eventNames().animationcancelEvent, worldForDOMObject(thisObject));
5311}
5312
5313JSC_DEFINE_CUSTOM_GETTER(jsDocument_onanimationcancel, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5314{
5315 return IDLAttribute<JSDocument>::get<jsDocument_onanimationcancelGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5316}
5317
5318static inline bool setJSDocument_onanimationcancelSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5319{
5320 auto& vm = JSC::getVM(&lexicalGlobalObject);
5321 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().animationcancelEvent, value);
5322 vm.heap.writeBarrier(&thisObject, value);
5323 ensureStillAliveHere(value);
5324
5325 return true;
5326}
5327
5328JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onanimationcancel, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5329{
5330 return IDLAttribute<JSDocument>::set<setJSDocument_onanimationcancelSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5331}
5332
5333static inline JSValue jsDocument_ontransitionrunGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5334{
5335 UNUSED_PARAM(lexicalGlobalObject);
5336 return eventHandlerAttribute(thisObject.wrapped(), eventNames().transitionrunEvent, worldForDOMObject(thisObject));
5337}
5338
5339JSC_DEFINE_CUSTOM_GETTER(jsDocument_ontransitionrun, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5340{
5341 return IDLAttribute<JSDocument>::get<jsDocument_ontransitionrunGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5342}
5343
5344static inline bool setJSDocument_ontransitionrunSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5345{
5346 auto& vm = JSC::getVM(&lexicalGlobalObject);
5347 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().transitionrunEvent, value);
5348 vm.heap.writeBarrier(&thisObject, value);
5349 ensureStillAliveHere(value);
5350
5351 return true;
5352}
5353
5354JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ontransitionrun, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5355{
5356 return IDLAttribute<JSDocument>::set<setJSDocument_ontransitionrunSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5357}
5358
5359static inline JSValue jsDocument_ontransitionstartGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5360{
5361 UNUSED_PARAM(lexicalGlobalObject);
5362 return eventHandlerAttribute(thisObject.wrapped(), eventNames().transitionstartEvent, worldForDOMObject(thisObject));
5363}
5364
5365JSC_DEFINE_CUSTOM_GETTER(jsDocument_ontransitionstart, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5366{
5367 return IDLAttribute<JSDocument>::get<jsDocument_ontransitionstartGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5368}
5369
5370static inline bool setJSDocument_ontransitionstartSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5371{
5372 auto& vm = JSC::getVM(&lexicalGlobalObject);
5373 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().transitionstartEvent, value);
5374 vm.heap.writeBarrier(&thisObject, value);
5375 ensureStillAliveHere(value);
5376
5377 return true;
5378}
5379
5380JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ontransitionstart, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5381{
5382 return IDLAttribute<JSDocument>::set<setJSDocument_ontransitionstartSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5383}
5384
5385static inline JSValue jsDocument_ontransitionendGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5386{
5387 UNUSED_PARAM(lexicalGlobalObject);
5388 return eventHandlerAttribute(thisObject.wrapped(), eventNames().transitionendEvent, worldForDOMObject(thisObject));
5389}
5390
5391JSC_DEFINE_CUSTOM_GETTER(jsDocument_ontransitionend, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5392{
5393 return IDLAttribute<JSDocument>::get<jsDocument_ontransitionendGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5394}
5395
5396static inline bool setJSDocument_ontransitionendSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5397{
5398 auto& vm = JSC::getVM(&lexicalGlobalObject);
5399 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().transitionendEvent, value);
5400 vm.heap.writeBarrier(&thisObject, value);
5401 ensureStillAliveHere(value);
5402
5403 return true;
5404}
5405
5406JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ontransitionend, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5407{
5408 return IDLAttribute<JSDocument>::set<setJSDocument_ontransitionendSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5409}
5410
5411static inline JSValue jsDocument_ontransitioncancelGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5412{
5413 UNUSED_PARAM(lexicalGlobalObject);
5414 return eventHandlerAttribute(thisObject.wrapped(), eventNames().transitioncancelEvent, worldForDOMObject(thisObject));
5415}
5416
5417JSC_DEFINE_CUSTOM_GETTER(jsDocument_ontransitioncancel, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5418{
5419 return IDLAttribute<JSDocument>::get<jsDocument_ontransitioncancelGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5420}
5421
5422static inline bool setJSDocument_ontransitioncancelSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5423{
5424 auto& vm = JSC::getVM(&lexicalGlobalObject);
5425 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().transitioncancelEvent, value);
5426 vm.heap.writeBarrier(&thisObject, value);
5427 ensureStillAliveHere(value);
5428
5429 return true;
5430}
5431
5432JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ontransitioncancel, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5433{
5434 return IDLAttribute<JSDocument>::set<setJSDocument_ontransitioncancelSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5435}
5436
5437static inline JSValue jsDocument_ongotpointercaptureGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5438{
5439 UNUSED_PARAM(lexicalGlobalObject);
5440 return eventHandlerAttribute(thisObject.wrapped(), eventNames().gotpointercaptureEvent, worldForDOMObject(thisObject));
5441}
5442
5443JSC_DEFINE_CUSTOM_GETTER(jsDocument_ongotpointercapture, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5444{
5445 return IDLAttribute<JSDocument>::get<jsDocument_ongotpointercaptureGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5446}
5447
5448static inline bool setJSDocument_ongotpointercaptureSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5449{
5450 auto& vm = JSC::getVM(&lexicalGlobalObject);
5451 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().gotpointercaptureEvent, value);
5452 vm.heap.writeBarrier(&thisObject, value);
5453 ensureStillAliveHere(value);
5454
5455 return true;
5456}
5457
5458JSC_DEFINE_CUSTOM_SETTER(setJSDocument_ongotpointercapture, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5459{
5460 return IDLAttribute<JSDocument>::set<setJSDocument_ongotpointercaptureSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5461}
5462
5463static inline JSValue jsDocument_onlostpointercaptureGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5464{
5465 UNUSED_PARAM(lexicalGlobalObject);
5466 return eventHandlerAttribute(thisObject.wrapped(), eventNames().lostpointercaptureEvent, worldForDOMObject(thisObject));
5467}
5468
5469JSC_DEFINE_CUSTOM_GETTER(jsDocument_onlostpointercapture, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5470{
5471 return IDLAttribute<JSDocument>::get<jsDocument_onlostpointercaptureGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5472}
5473
5474static inline bool setJSDocument_onlostpointercaptureSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5475{
5476 auto& vm = JSC::getVM(&lexicalGlobalObject);
5477 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().lostpointercaptureEvent, value);
5478 vm.heap.writeBarrier(&thisObject, value);
5479 ensureStillAliveHere(value);
5480
5481 return true;
5482}
5483
5484JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onlostpointercapture, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5485{
5486 return IDLAttribute<JSDocument>::set<setJSDocument_onlostpointercaptureSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5487}
5488
5489static inline JSValue jsDocument_onpointerdownGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5490{
5491 UNUSED_PARAM(lexicalGlobalObject);
5492 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointerdownEvent, worldForDOMObject(thisObject));
5493}
5494
5495JSC_DEFINE_CUSTOM_GETTER(jsDocument_onpointerdown, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5496{
5497 return IDLAttribute<JSDocument>::get<jsDocument_onpointerdownGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5498}
5499
5500static inline bool setJSDocument_onpointerdownSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5501{
5502 auto& vm = JSC::getVM(&lexicalGlobalObject);
5503 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().pointerdownEvent, value);
5504 vm.heap.writeBarrier(&thisObject, value);
5505 ensureStillAliveHere(value);
5506
5507 return true;
5508}
5509
5510JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onpointerdown, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5511{
5512 return IDLAttribute<JSDocument>::set<setJSDocument_onpointerdownSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5513}
5514
5515static inline JSValue jsDocument_onpointermoveGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5516{
5517 UNUSED_PARAM(lexicalGlobalObject);
5518 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointermoveEvent, worldForDOMObject(thisObject));
5519}
5520
5521JSC_DEFINE_CUSTOM_GETTER(jsDocument_onpointermove, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5522{
5523 return IDLAttribute<JSDocument>::get<jsDocument_onpointermoveGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5524}
5525
5526static inline bool setJSDocument_onpointermoveSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5527{
5528 auto& vm = JSC::getVM(&lexicalGlobalObject);
5529 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().pointermoveEvent, value);
5530 vm.heap.writeBarrier(&thisObject, value);
5531 ensureStillAliveHere(value);
5532
5533 return true;
5534}
5535
5536JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onpointermove, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5537{
5538 return IDLAttribute<JSDocument>::set<setJSDocument_onpointermoveSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5539}
5540
5541static inline JSValue jsDocument_onpointerupGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5542{
5543 UNUSED_PARAM(lexicalGlobalObject);
5544 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointerupEvent, worldForDOMObject(thisObject));
5545}
5546
5547JSC_DEFINE_CUSTOM_GETTER(jsDocument_onpointerup, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5548{
5549 return IDLAttribute<JSDocument>::get<jsDocument_onpointerupGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5550}
5551
5552static inline bool setJSDocument_onpointerupSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5553{
5554 auto& vm = JSC::getVM(&lexicalGlobalObject);
5555 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().pointerupEvent, value);
5556 vm.heap.writeBarrier(&thisObject, value);
5557 ensureStillAliveHere(value);
5558
5559 return true;
5560}
5561
5562JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onpointerup, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5563{
5564 return IDLAttribute<JSDocument>::set<setJSDocument_onpointerupSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5565}
5566
5567static inline JSValue jsDocument_onpointercancelGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5568{
5569 UNUSED_PARAM(lexicalGlobalObject);
5570 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointercancelEvent, worldForDOMObject(thisObject));
5571}
5572
5573JSC_DEFINE_CUSTOM_GETTER(jsDocument_onpointercancel, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5574{
5575 return IDLAttribute<JSDocument>::get<jsDocument_onpointercancelGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5576}
5577
5578static inline bool setJSDocument_onpointercancelSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5579{
5580 auto& vm = JSC::getVM(&lexicalGlobalObject);
5581 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().pointercancelEvent, value);
5582 vm.heap.writeBarrier(&thisObject, value);
5583 ensureStillAliveHere(value);
5584
5585 return true;
5586}
5587
5588JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onpointercancel, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5589{
5590 return IDLAttribute<JSDocument>::set<setJSDocument_onpointercancelSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5591}
5592
5593static inline JSValue jsDocument_onpointeroverGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5594{
5595 UNUSED_PARAM(lexicalGlobalObject);
5596 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointeroverEvent, worldForDOMObject(thisObject));
5597}
5598
5599JSC_DEFINE_CUSTOM_GETTER(jsDocument_onpointerover, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5600{
5601 return IDLAttribute<JSDocument>::get<jsDocument_onpointeroverGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5602}
5603
5604static inline bool setJSDocument_onpointeroverSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5605{
5606 auto& vm = JSC::getVM(&lexicalGlobalObject);
5607 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().pointeroverEvent, value);
5608 vm.heap.writeBarrier(&thisObject, value);
5609 ensureStillAliveHere(value);
5610
5611 return true;
5612}
5613
5614JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onpointerover, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5615{
5616 return IDLAttribute<JSDocument>::set<setJSDocument_onpointeroverSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5617}
5618
5619static inline JSValue jsDocument_onpointeroutGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5620{
5621 UNUSED_PARAM(lexicalGlobalObject);
5622 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointeroutEvent, worldForDOMObject(thisObject));
5623}
5624
5625JSC_DEFINE_CUSTOM_GETTER(jsDocument_onpointerout, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5626{
5627 return IDLAttribute<JSDocument>::get<jsDocument_onpointeroutGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5628}
5629
5630static inline bool setJSDocument_onpointeroutSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5631{
5632 auto& vm = JSC::getVM(&lexicalGlobalObject);
5633 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().pointeroutEvent, value);
5634 vm.heap.writeBarrier(&thisObject, value);
5635 ensureStillAliveHere(value);
5636
5637 return true;
5638}
5639
5640JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onpointerout, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5641{
5642 return IDLAttribute<JSDocument>::set<setJSDocument_onpointeroutSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5643}
5644
5645static inline JSValue jsDocument_onpointerenterGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5646{
5647 UNUSED_PARAM(lexicalGlobalObject);
5648 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointerenterEvent, worldForDOMObject(thisObject));
5649}
5650
5651JSC_DEFINE_CUSTOM_GETTER(jsDocument_onpointerenter, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5652{
5653 return IDLAttribute<JSDocument>::get<jsDocument_onpointerenterGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5654}
5655
5656static inline bool setJSDocument_onpointerenterSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5657{
5658 auto& vm = JSC::getVM(&lexicalGlobalObject);
5659 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().pointerenterEvent, value);
5660 vm.heap.writeBarrier(&thisObject, value);
5661 ensureStillAliveHere(value);
5662
5663 return true;
5664}
5665
5666JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onpointerenter, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5667{
5668 return IDLAttribute<JSDocument>::set<setJSDocument_onpointerenterSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5669}
5670
5671static inline JSValue jsDocument_onpointerleaveGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5672{
5673 UNUSED_PARAM(lexicalGlobalObject);
5674 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointerleaveEvent, worldForDOMObject(thisObject));
5675}
5676
5677JSC_DEFINE_CUSTOM_GETTER(jsDocument_onpointerleave, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5678{
5679 return IDLAttribute<JSDocument>::get<jsDocument_onpointerleaveGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5680}
5681
5682static inline bool setJSDocument_onpointerleaveSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5683{
5684 auto& vm = JSC::getVM(&lexicalGlobalObject);
5685 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().pointerleaveEvent, value);
5686 vm.heap.writeBarrier(&thisObject, value);
5687 ensureStillAliveHere(value);
5688
5689 return true;
5690}
5691
5692JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onpointerleave, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5693{
5694 return IDLAttribute<JSDocument>::set<setJSDocument_onpointerleaveSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5695}
5696
5697static inline JSValue jsDocument_onselectstartGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5698{
5699 UNUSED_PARAM(lexicalGlobalObject);
5700 return eventHandlerAttribute(thisObject.wrapped(), eventNames().selectstartEvent, worldForDOMObject(thisObject));
5701}
5702
5703JSC_DEFINE_CUSTOM_GETTER(jsDocument_onselectstart, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5704{
5705 return IDLAttribute<JSDocument>::get<jsDocument_onselectstartGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5706}
5707
5708static inline bool setJSDocument_onselectstartSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5709{
5710 auto& vm = JSC::getVM(&lexicalGlobalObject);
5711 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().selectstartEvent, value);
5712 vm.heap.writeBarrier(&thisObject, value);
5713 ensureStillAliveHere(value);
5714
5715 return true;
5716}
5717
5718JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onselectstart, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5719{
5720 return IDLAttribute<JSDocument>::set<setJSDocument_onselectstartSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5721}
5722
5723static inline JSValue jsDocument_onselectionchangeGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5724{
5725 UNUSED_PARAM(lexicalGlobalObject);
5726 return eventHandlerAttribute(thisObject.wrapped(), eventNames().selectionchangeEvent, worldForDOMObject(thisObject));
5727}
5728
5729JSC_DEFINE_CUSTOM_GETTER(jsDocument_onselectionchange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5730{
5731 return IDLAttribute<JSDocument>::get<jsDocument_onselectionchangeGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5732}
5733
5734static inline bool setJSDocument_onselectionchangeSetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject, JSValue value)
5735{
5736 auto& vm = JSC::getVM(&lexicalGlobalObject);
5737 setEventHandlerAttribute(lexicalGlobalObject, thisObject, thisObject.wrapped(), eventNames().selectionchangeEvent, value);
5738 vm.heap.writeBarrier(&thisObject, value);
5739 ensureStillAliveHere(value);
5740
5741 return true;
5742}
5743
5744JSC_DEFINE_CUSTOM_SETTER(setJSDocument_onselectionchange, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
5745{
5746 return IDLAttribute<JSDocument>::set<setJSDocument_onselectionchangeSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
5747}
5748
5749static inline JSValue jsDocument_childrenGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5750{
5751 auto& vm = JSC::getVM(&lexicalGlobalObject);
5752 auto throwScope = DECLARE_THROW_SCOPE(vm);
5753 auto& impl = thisObject.wrapped();
5754 RELEASE_AND_RETURN(throwScope, (toJS<IDLInterface<HTMLCollection>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.children())));
5755}
5756
5757JSC_DEFINE_CUSTOM_GETTER(jsDocument_children, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5758{
5759 return IDLAttribute<JSDocument>::get<jsDocument_childrenGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5760}
5761
5762static inline JSValue jsDocument_firstElementChildGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5763{
5764 auto& vm = JSC::getVM(&lexicalGlobalObject);
5765 auto throwScope = DECLARE_THROW_SCOPE(vm);
5766 auto& impl = thisObject.wrapped();
5767 RELEASE_AND_RETURN(throwScope, (toJS<IDLNullable<IDLInterface<Element>>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.firstElementChild())));
5768}
5769
5770JSC_DEFINE_CUSTOM_GETTER(jsDocument_firstElementChild, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5771{
5772 return IDLAttribute<JSDocument>::get<jsDocument_firstElementChildGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5773}
5774
5775static inline JSValue jsDocument_lastElementChildGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5776{
5777 auto& vm = JSC::getVM(&lexicalGlobalObject);
5778 auto throwScope = DECLARE_THROW_SCOPE(vm);
5779 auto& impl = thisObject.wrapped();
5780 RELEASE_AND_RETURN(throwScope, (toJS<IDLNullable<IDLInterface<Element>>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, impl.lastElementChild())));
5781}
5782
5783JSC_DEFINE_CUSTOM_GETTER(jsDocument_lastElementChild, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5784{
5785 return IDLAttribute<JSDocument>::get<jsDocument_lastElementChildGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5786}
5787
5788static inline JSValue jsDocument_childElementCountGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5789{
5790 auto& vm = JSC::getVM(&lexicalGlobalObject);
5791 auto throwScope = DECLARE_THROW_SCOPE(vm);
5792 auto& impl = thisObject.wrapped();
5793 RELEASE_AND_RETURN(throwScope, (toJS<IDLUnsignedLong>(lexicalGlobalObject, throwScope, impl.childElementCount())));
5794}
5795
5796JSC_DEFINE_CUSTOM_GETTER(jsDocument_childElementCount, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5797{
5798 return IDLAttribute<JSDocument>::get<jsDocument_childElementCountGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5799}
5800
5801static inline JSValue jsDocument_rootElementGetter(JSGlobalObject& lexicalGlobalObject, JSDocument& thisObject)
5802{
5803 auto& vm = JSC::getVM(&lexicalGlobalObject);
5804 auto throwScope = DECLARE_THROW_SCOPE(vm);
5805 auto& impl = thisObject.wrapped();
5806 RELEASE_AND_RETURN(throwScope, (toJS<IDLNullable<IDLInterface<SVGSVGElement>>>(lexicalGlobalObject, *thisObject.globalObject(), throwScope, WebCore::DocumentSVG::rootElement(impl))));
5807}
5808
5809JSC_DEFINE_CUSTOM_GETTER(jsDocument_rootElement, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
5810{
5811 return IDLAttribute<JSDocument>::get<jsDocument_rootElementGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
5812}
5813
5814static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_getElementsByTagNameBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
5815{
5816 auto& vm = JSC::getVM(lexicalGlobalObject);
5817 auto throwScope = DECLARE_THROW_SCOPE(vm);
5818 UNUSED_PARAM(throwScope);
5819 UNUSED_PARAM(callFrame);
5820 auto& impl = castedThis->wrapped();
5821 if (UNLIKELY(callFrame->argumentCount() < 1))
5822 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
5823 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
5824 auto qualifiedName = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
5825 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5826 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLInterface<HTMLCollection>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.getElementsByTagName(WTFMove(qualifiedName)))));
5827}
5828
5829JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_getElementsByTagName, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
5830{
5831 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_getElementsByTagNameBody>(*lexicalGlobalObject, *callFrame, "getElementsByTagName");
5832}
5833
5834static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_getElementsByTagNameNSBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
5835{
5836 auto& vm = JSC::getVM(lexicalGlobalObject);
5837 auto throwScope = DECLARE_THROW_SCOPE(vm);
5838 UNUSED_PARAM(throwScope);
5839 UNUSED_PARAM(callFrame);
5840 auto& impl = castedThis->wrapped();
5841 if (UNLIKELY(callFrame->argumentCount() < 2))
5842 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
5843 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
5844 auto namespaceURI = convert<IDLNullable<IDLDOMString>>(*lexicalGlobalObject, argument0.value());
5845 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5846 EnsureStillAliveScope argument1 = callFrame->uncheckedArgument(1);
5847 auto localName = convert<IDLDOMString>(*lexicalGlobalObject, argument1.value());
5848 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5849 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLInterface<HTMLCollection>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.getElementsByTagNameNS(WTFMove(namespaceURI), WTFMove(localName)))));
5850}
5851
5852JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_getElementsByTagNameNS, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
5853{
5854 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_getElementsByTagNameNSBody>(*lexicalGlobalObject, *callFrame, "getElementsByTagNameNS");
5855}
5856
5857static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_getElementsByClassNameBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
5858{
5859 auto& vm = JSC::getVM(lexicalGlobalObject);
5860 auto throwScope = DECLARE_THROW_SCOPE(vm);
5861 UNUSED_PARAM(throwScope);
5862 UNUSED_PARAM(callFrame);
5863 auto& impl = castedThis->wrapped();
5864 if (UNLIKELY(callFrame->argumentCount() < 1))
5865 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
5866 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
5867 auto classNames = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
5868 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5869 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLInterface<HTMLCollection>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.getElementsByClassName(WTFMove(classNames)))));
5870}
5871
5872JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_getElementsByClassName, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
5873{
5874 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_getElementsByClassNameBody>(*lexicalGlobalObject, *callFrame, "getElementsByClassName");
5875}
5876
5877static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_createElementBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
5878{
5879 auto& vm = JSC::getVM(lexicalGlobalObject);
5880 auto throwScope = DECLARE_THROW_SCOPE(vm);
5881 UNUSED_PARAM(throwScope);
5882 UNUSED_PARAM(callFrame);
5883 auto& impl = castedThis->wrapped();
5884 if (UNLIKELY(callFrame->argumentCount() < 1))
5885 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
5886 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
5887 auto localName = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
5888 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5889 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJSNewlyCreated<IDLInterface<Element>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.createElementForBindings(WTFMove(localName)))));
5890}
5891
5892JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_createElement, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
5893{
5894 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_createElementBody>(*lexicalGlobalObject, *callFrame, "createElement");
5895}
5896
5897static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_createElementNSBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
5898{
5899 auto& vm = JSC::getVM(lexicalGlobalObject);
5900 auto throwScope = DECLARE_THROW_SCOPE(vm);
5901 UNUSED_PARAM(throwScope);
5902 UNUSED_PARAM(callFrame);
5903 auto& impl = castedThis->wrapped();
5904 if (UNLIKELY(callFrame->argumentCount() < 2))
5905 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
5906 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
5907 auto namespaceURI = convert<IDLNullable<IDLDOMString>>(*lexicalGlobalObject, argument0.value());
5908 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5909 EnsureStillAliveScope argument1 = callFrame->uncheckedArgument(1);
5910 auto qualifiedName = convert<IDLDOMString>(*lexicalGlobalObject, argument1.value());
5911 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5912 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJSNewlyCreated<IDLInterface<Element>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.createElementNS(WTFMove(namespaceURI), WTFMove(qualifiedName)))));
5913}
5914
5915JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_createElementNS, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
5916{
5917 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_createElementNSBody>(*lexicalGlobalObject, *callFrame, "createElementNS");
5918}
5919
5920static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_createDocumentFragmentBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
5921{
5922 auto& vm = JSC::getVM(lexicalGlobalObject);
5923 auto throwScope = DECLARE_THROW_SCOPE(vm);
5924 UNUSED_PARAM(throwScope);
5925 UNUSED_PARAM(callFrame);
5926 auto& impl = castedThis->wrapped();
5927 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJSNewlyCreated<IDLInterface<DocumentFragment>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.createDocumentFragment())));
5928}
5929
5930JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_createDocumentFragment, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
5931{
5932 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_createDocumentFragmentBody>(*lexicalGlobalObject, *callFrame, "createDocumentFragment");
5933}
5934
5935static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_createTextNodeBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
5936{
5937 auto& vm = JSC::getVM(lexicalGlobalObject);
5938 auto throwScope = DECLARE_THROW_SCOPE(vm);
5939 UNUSED_PARAM(throwScope);
5940 UNUSED_PARAM(callFrame);
5941 auto& impl = castedThis->wrapped();
5942 if (UNLIKELY(callFrame->argumentCount() < 1))
5943 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
5944 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
5945 auto data = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
5946 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5947 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJSNewlyCreated<IDLInterface<Text>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.createTextNode(WTFMove(data)))));
5948}
5949
5950JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_createTextNode, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
5951{
5952 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_createTextNodeBody>(*lexicalGlobalObject, *callFrame, "createTextNode");
5953}
5954
5955static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_createCDATASectionBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
5956{
5957 auto& vm = JSC::getVM(lexicalGlobalObject);
5958 auto throwScope = DECLARE_THROW_SCOPE(vm);
5959 UNUSED_PARAM(throwScope);
5960 UNUSED_PARAM(callFrame);
5961 auto& impl = castedThis->wrapped();
5962 if (UNLIKELY(callFrame->argumentCount() < 1))
5963 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
5964 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
5965 auto data = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
5966 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5967 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJSNewlyCreated<IDLInterface<CDATASection>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.createCDATASection(WTFMove(data)))));
5968}
5969
5970JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_createCDATASection, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
5971{
5972 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_createCDATASectionBody>(*lexicalGlobalObject, *callFrame, "createCDATASection");
5973}
5974
5975static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_createCommentBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
5976{
5977 auto& vm = JSC::getVM(lexicalGlobalObject);
5978 auto throwScope = DECLARE_THROW_SCOPE(vm);
5979 UNUSED_PARAM(throwScope);
5980 UNUSED_PARAM(callFrame);
5981 auto& impl = castedThis->wrapped();
5982 if (UNLIKELY(callFrame->argumentCount() < 1))
5983 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
5984 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
5985 auto data = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
5986 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5987 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJSNewlyCreated<IDLInterface<Comment>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.createComment(WTFMove(data)))));
5988}
5989
5990JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_createComment, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
5991{
5992 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_createCommentBody>(*lexicalGlobalObject, *callFrame, "createComment");
5993}
5994
5995static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_createProcessingInstructionBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
5996{
5997 auto& vm = JSC::getVM(lexicalGlobalObject);
5998 auto throwScope = DECLARE_THROW_SCOPE(vm);
5999 UNUSED_PARAM(throwScope);
6000 UNUSED_PARAM(callFrame);
6001 auto& impl = castedThis->wrapped();
6002 if (UNLIKELY(callFrame->argumentCount() < 2))
6003 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6004 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6005 auto target = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
6006 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6007 EnsureStillAliveScope argument1 = callFrame->uncheckedArgument(1);
6008 auto data = convert<IDLDOMString>(*lexicalGlobalObject, argument1.value());
6009 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6010 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJSNewlyCreated<IDLInterface<ProcessingInstruction>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.createProcessingInstruction(WTFMove(target), WTFMove(data)))));
6011}
6012
6013JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_createProcessingInstruction, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6014{
6015 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_createProcessingInstructionBody>(*lexicalGlobalObject, *callFrame, "createProcessingInstruction");
6016}
6017
6018static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_importNodeBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6019{
6020 auto& vm = JSC::getVM(lexicalGlobalObject);
6021 auto throwScope = DECLARE_THROW_SCOPE(vm);
6022 UNUSED_PARAM(throwScope);
6023 UNUSED_PARAM(callFrame);
6024 CustomElementReactionStack customElementReactionStack(*lexicalGlobalObject);
6025 auto& impl = castedThis->wrapped();
6026 if (UNLIKELY(callFrame->argumentCount() < 1))
6027 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6028 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6029 auto node = convert<IDLInterface<Node>>(*lexicalGlobalObject, argument0.value(), [](JSC::JSGlobalObject& lexicalGlobalObject, JSC::ThrowScope& scope) { throwArgumentTypeError(lexicalGlobalObject, scope, 0, "node", "Document", "importNode", "Node"); });
6030 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6031 EnsureStillAliveScope argument1 = callFrame->argument(1);
6032 auto deep = convert<IDLBoolean>(*lexicalGlobalObject, argument1.value());
6033 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6034 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJSNewlyCreated<IDLInterface<Node>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.importNode(*node, WTFMove(deep)))));
6035}
6036
6037JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_importNode, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6038{
6039 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_importNodeBody>(*lexicalGlobalObject, *callFrame, "importNode");
6040}
6041
6042static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_adoptNodeBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6043{
6044 auto& vm = JSC::getVM(lexicalGlobalObject);
6045 auto throwScope = DECLARE_THROW_SCOPE(vm);
6046 UNUSED_PARAM(throwScope);
6047 UNUSED_PARAM(callFrame);
6048 CustomElementReactionStack customElementReactionStack(*lexicalGlobalObject);
6049 auto& impl = castedThis->wrapped();
6050 if (UNLIKELY(callFrame->argumentCount() < 1))
6051 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6052 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6053 auto node = convert<IDLInterface<Node>>(*lexicalGlobalObject, argument0.value(), [](JSC::JSGlobalObject& lexicalGlobalObject, JSC::ThrowScope& scope) { throwArgumentTypeError(lexicalGlobalObject, scope, 0, "node", "Document", "adoptNode", "Node"); });
6054 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6055 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLInterface<Node>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.adoptNode(*node))));
6056}
6057
6058JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_adoptNode, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6059{
6060 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_adoptNodeBody>(*lexicalGlobalObject, *callFrame, "adoptNode");
6061}
6062
6063static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_createAttributeBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6064{
6065 auto& vm = JSC::getVM(lexicalGlobalObject);
6066 auto throwScope = DECLARE_THROW_SCOPE(vm);
6067 UNUSED_PARAM(throwScope);
6068 UNUSED_PARAM(callFrame);
6069 auto& impl = castedThis->wrapped();
6070 if (UNLIKELY(callFrame->argumentCount() < 1))
6071 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6072 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6073 auto localName = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
6074 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6075 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJSNewlyCreated<IDLInterface<Attr>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.createAttribute(WTFMove(localName)))));
6076}
6077
6078JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_createAttribute, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6079{
6080 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_createAttributeBody>(*lexicalGlobalObject, *callFrame, "createAttribute");
6081}
6082
6083static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_createAttributeNSBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6084{
6085 auto& vm = JSC::getVM(lexicalGlobalObject);
6086 auto throwScope = DECLARE_THROW_SCOPE(vm);
6087 UNUSED_PARAM(throwScope);
6088 UNUSED_PARAM(callFrame);
6089 auto& impl = castedThis->wrapped();
6090 if (UNLIKELY(callFrame->argumentCount() < 2))
6091 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6092 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6093 auto namespaceURI = convert<IDLNullable<IDLDOMString>>(*lexicalGlobalObject, argument0.value());
6094 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6095 EnsureStillAliveScope argument1 = callFrame->uncheckedArgument(1);
6096 auto qualifiedName = convert<IDLDOMString>(*lexicalGlobalObject, argument1.value());
6097 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6098 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJSNewlyCreated<IDLInterface<Attr>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.createAttributeNS(WTFMove(namespaceURI), WTFMove(qualifiedName)))));
6099}
6100
6101JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_createAttributeNS, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6102{
6103 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_createAttributeNSBody>(*lexicalGlobalObject, *callFrame, "createAttributeNS");
6104}
6105
6106static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_createEventBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6107{
6108 auto& vm = JSC::getVM(lexicalGlobalObject);
6109 auto throwScope = DECLARE_THROW_SCOPE(vm);
6110 UNUSED_PARAM(throwScope);
6111 UNUSED_PARAM(callFrame);
6112 auto& impl = castedThis->wrapped();
6113 if (UNLIKELY(callFrame->argumentCount() < 1))
6114 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6115 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6116 auto type = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
6117 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6118 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJSNewlyCreated<IDLInterface<Event>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.createEvent(WTFMove(type)))));
6119}
6120
6121JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_createEvent, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6122{
6123 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_createEventBody>(*lexicalGlobalObject, *callFrame, "createEvent");
6124}
6125
6126static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_createRangeBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6127{
6128 auto& vm = JSC::getVM(lexicalGlobalObject);
6129 auto throwScope = DECLARE_THROW_SCOPE(vm);
6130 UNUSED_PARAM(throwScope);
6131 UNUSED_PARAM(callFrame);
6132 auto& impl = castedThis->wrapped();
6133 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJSNewlyCreated<IDLInterface<Range>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.createRange())));
6134}
6135
6136JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_createRange, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6137{
6138 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_createRangeBody>(*lexicalGlobalObject, *callFrame, "createRange");
6139}
6140
6141static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_createNodeIteratorBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6142{
6143 auto& vm = JSC::getVM(lexicalGlobalObject);
6144 auto throwScope = DECLARE_THROW_SCOPE(vm);
6145 UNUSED_PARAM(throwScope);
6146 UNUSED_PARAM(callFrame);
6147 auto& impl = castedThis->wrapped();
6148 if (UNLIKELY(callFrame->argumentCount() < 1))
6149 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6150 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6151 auto root = convert<IDLInterface<Node>>(*lexicalGlobalObject, argument0.value(), [](JSC::JSGlobalObject& lexicalGlobalObject, JSC::ThrowScope& scope) { throwArgumentTypeError(lexicalGlobalObject, scope, 0, "root", "Document", "createNodeIterator", "Node"); });
6152 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6153 EnsureStillAliveScope argument1 = callFrame->argument(1);
6154 auto whatToShow = argument1.value().isUndefined() ? 0xFFFFFFFF : convert<IDLUnsignedLong>(*lexicalGlobalObject, argument1.value());
6155 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6156 EnsureStillAliveScope argument2 = callFrame->argument(2);
6157 auto filter = convert<IDLNullable<IDLCallbackInterface<JSNodeFilter>>>(*lexicalGlobalObject, argument2.value(), *castedThis->globalObject(), [](JSC::JSGlobalObject& lexicalGlobalObject, JSC::ThrowScope& scope) { throwArgumentMustBeObjectError(lexicalGlobalObject, scope, 2, "filter", "Document", "createNodeIterator"); });
6158 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6159 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJSNewlyCreated<IDLInterface<NodeIterator>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.createNodeIterator(*root, WTFMove(whatToShow), WTFMove(filter)))));
6160}
6161
6162JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_createNodeIterator, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6163{
6164 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_createNodeIteratorBody>(*lexicalGlobalObject, *callFrame, "createNodeIterator");
6165}
6166
6167static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_createTreeWalkerBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6168{
6169 auto& vm = JSC::getVM(lexicalGlobalObject);
6170 auto throwScope = DECLARE_THROW_SCOPE(vm);
6171 UNUSED_PARAM(throwScope);
6172 UNUSED_PARAM(callFrame);
6173 auto& impl = castedThis->wrapped();
6174 if (UNLIKELY(callFrame->argumentCount() < 1))
6175 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6176 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6177 auto root = convert<IDLInterface<Node>>(*lexicalGlobalObject, argument0.value(), [](JSC::JSGlobalObject& lexicalGlobalObject, JSC::ThrowScope& scope) { throwArgumentTypeError(lexicalGlobalObject, scope, 0, "root", "Document", "createTreeWalker", "Node"); });
6178 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6179 EnsureStillAliveScope argument1 = callFrame->argument(1);
6180 auto whatToShow = argument1.value().isUndefined() ? 0xFFFFFFFF : convert<IDLUnsignedLong>(*lexicalGlobalObject, argument1.value());
6181 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6182 EnsureStillAliveScope argument2 = callFrame->argument(2);
6183 auto filter = convert<IDLNullable<IDLCallbackInterface<JSNodeFilter>>>(*lexicalGlobalObject, argument2.value(), *castedThis->globalObject(), [](JSC::JSGlobalObject& lexicalGlobalObject, JSC::ThrowScope& scope) { throwArgumentMustBeObjectError(lexicalGlobalObject, scope, 2, "filter", "Document", "createTreeWalker"); });
6184 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6185 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJSNewlyCreated<IDLInterface<TreeWalker>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.createTreeWalker(*root, WTFMove(whatToShow), WTFMove(filter)))));
6186}
6187
6188JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_createTreeWalker, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6189{
6190 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_createTreeWalkerBody>(*lexicalGlobalObject, *callFrame, "createTreeWalker");
6191}
6192
6193static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_getOverrideStyleBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6194{
6195 auto& vm = JSC::getVM(lexicalGlobalObject);
6196 auto throwScope = DECLARE_THROW_SCOPE(vm);
6197 UNUSED_PARAM(throwScope);
6198 UNUSED_PARAM(callFrame);
6199 auto& impl = castedThis->wrapped();
6200 EnsureStillAliveScope argument0 = callFrame->argument(0);
6201 auto element = convert<IDLNullable<IDLInterface<Element>>>(*lexicalGlobalObject, argument0.value(), [](JSC::JSGlobalObject& lexicalGlobalObject, JSC::ThrowScope& scope) { throwArgumentTypeError(lexicalGlobalObject, scope, 0, "element", "Document", "getOverrideStyle", "Element"); });
6202 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6203 EnsureStillAliveScope argument1 = callFrame->argument(1);
6204 auto pseudoElement = convert<IDLDOMString>(*lexicalGlobalObject, argument1.value());
6205 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6206 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLNullable<IDLInterface<CSSStyleDeclaration>>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.getOverrideStyle(WTFMove(element), WTFMove(pseudoElement)))));
6207}
6208
6209JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_getOverrideStyle, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6210{
6211 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_getOverrideStyleBody>(*lexicalGlobalObject, *callFrame, "getOverrideStyle");
6212}
6213
6214static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_caretRangeFromPointBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6215{
6216 auto& vm = JSC::getVM(lexicalGlobalObject);
6217 auto throwScope = DECLARE_THROW_SCOPE(vm);
6218 UNUSED_PARAM(throwScope);
6219 UNUSED_PARAM(callFrame);
6220 auto& impl = castedThis->wrapped();
6221 EnsureStillAliveScope argument0 = callFrame->argument(0);
6222 auto x = convert<IDLLong>(*lexicalGlobalObject, argument0.value());
6223 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6224 EnsureStillAliveScope argument1 = callFrame->argument(1);
6225 auto y = convert<IDLLong>(*lexicalGlobalObject, argument1.value());
6226 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6227 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLInterface<Range>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.caretRangeFromPoint(WTFMove(x), WTFMove(y)))));
6228}
6229
6230JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_caretRangeFromPoint, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6231{
6232 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_caretRangeFromPointBody>(*lexicalGlobalObject, *callFrame, "caretRangeFromPoint");
6233}
6234
6235static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_getCSSCanvasContextBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6236{
6237 auto& vm = JSC::getVM(lexicalGlobalObject);
6238 auto throwScope = DECLARE_THROW_SCOPE(vm);
6239 UNUSED_PARAM(throwScope);
6240 UNUSED_PARAM(callFrame);
6241 auto& impl = castedThis->wrapped();
6242 if (UNLIKELY(callFrame->argumentCount() < 4))
6243 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6244 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6245 auto contextId = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
6246 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6247 EnsureStillAliveScope argument1 = callFrame->uncheckedArgument(1);
6248 auto name = convert<IDLDOMString>(*lexicalGlobalObject, argument1.value());
6249 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6250 EnsureStillAliveScope argument2 = callFrame->uncheckedArgument(2);
6251 auto width = convert<IDLLong>(*lexicalGlobalObject, argument2.value());
6252 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6253 EnsureStillAliveScope argument3 = callFrame->uncheckedArgument(3);
6254 auto height = convert<IDLLong>(*lexicalGlobalObject, argument3.value());
6255 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6256 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLNullable<IDLUnion<IDLInterface<WebGLRenderingContext>, IDLInterface<WebGL2RenderingContext>, IDLInterface<GPUCanvasContext>, IDLInterface<ImageBitmapRenderingContext>, IDLInterface<CanvasRenderingContext2D>>>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.getCSSCanvasContext(WTFMove(contextId), WTFMove(name), WTFMove(width), WTFMove(height)))));
6257}
6258
6259JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_getCSSCanvasContext, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6260{
6261 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_getCSSCanvasContextBody>(*lexicalGlobalObject, *callFrame, "getCSSCanvasContext");
6262}
6263
6264#if ENABLE(PICTURE_IN_PICTURE_API)
6265static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_exitPictureInPictureBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperationReturningPromise<JSDocument>::ClassParameter castedThis, Ref<DeferredPromise>&& promise)
6266{
6267 auto& vm = JSC::getVM(lexicalGlobalObject);
6268 auto throwScope = DECLARE_THROW_SCOPE(vm);
6269 UNUSED_PARAM(throwScope);
6270 UNUSED_PARAM(callFrame);
6271 auto& impl = castedThis->wrapped();
6272 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJSNewlyCreated<IDLPromise<IDLUndefined>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, [&]() -> decltype(auto) { return WebCore::DocumentPictureInPicture::exitPictureInPicture(impl, WTFMove(promise)); })));
6273}
6274
6275JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_exitPictureInPicture, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6276{
6277 return IDLOperationReturningPromise<JSDocument>::call<jsDocumentPrototypeFunction_exitPictureInPictureBody>(*lexicalGlobalObject, *callFrame, "exitPictureInPicture");
6278}
6279
6280#endif
6281
6282#if ENABLE(FULLSCREEN_API)
6283static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_webkitExitFullscreenBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6284{
6285 auto& vm = JSC::getVM(lexicalGlobalObject);
6286 auto throwScope = DECLARE_THROW_SCOPE(vm);
6287 UNUSED_PARAM(throwScope);
6288 UNUSED_PARAM(callFrame);
6289 auto& impl = castedThis->wrapped();
6290 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLUndefined>(*lexicalGlobalObject, throwScope, [&]() -> decltype(auto) { return WebCore::DocumentFullscreen::webkitExitFullscreen(impl); })));
6291}
6292
6293JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_webkitExitFullscreen, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6294{
6295 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_webkitExitFullscreenBody>(*lexicalGlobalObject, *callFrame, "webkitExitFullscreen");
6296}
6297
6298#endif
6299
6300#if ENABLE(FULLSCREEN_API)
6301static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_webkitCancelFullScreenBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6302{
6303 auto& vm = JSC::getVM(lexicalGlobalObject);
6304 auto throwScope = DECLARE_THROW_SCOPE(vm);
6305 UNUSED_PARAM(throwScope);
6306 UNUSED_PARAM(callFrame);
6307 auto& impl = castedThis->wrapped();
6308 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLUndefined>(*lexicalGlobalObject, throwScope, [&]() -> decltype(auto) { return WebCore::DocumentFullscreen::webkitCancelFullScreen(impl); })));
6309}
6310
6311JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_webkitCancelFullScreen, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6312{
6313 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_webkitCancelFullScreenBody>(*lexicalGlobalObject, *callFrame, "webkitCancelFullScreen");
6314}
6315
6316#endif
6317
6318static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_getElementsByNameBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6319{
6320 auto& vm = JSC::getVM(lexicalGlobalObject);
6321 auto throwScope = DECLARE_THROW_SCOPE(vm);
6322 UNUSED_PARAM(throwScope);
6323 UNUSED_PARAM(callFrame);
6324 auto& impl = castedThis->wrapped();
6325 if (UNLIKELY(callFrame->argumentCount() < 1))
6326 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6327 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6328 auto elementName = convert<IDLAtomStringAdaptor<IDLDOMString>>(*lexicalGlobalObject, argument0.value());
6329 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6330 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLInterface<NodeList>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.getElementsByName(WTFMove(elementName)))));
6331}
6332
6333JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_getElementsByName, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6334{
6335 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_getElementsByNameBody>(*lexicalGlobalObject, *callFrame, "getElementsByName");
6336}
6337
6338static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_open1Body(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6339{
6340 auto& vm = JSC::getVM(lexicalGlobalObject);
6341 auto throwScope = DECLARE_THROW_SCOPE(vm);
6342 UNUSED_PARAM(throwScope);
6343 UNUSED_PARAM(callFrame);
6344 CustomElementReactionStack customElementReactionStack(*lexicalGlobalObject);
6345 auto& impl = castedThis->wrapped();
6346 EnsureStillAliveScope argument0 = callFrame->argument(0);
6347 auto unused1 = argument0.value().isUndefined() ? String() : convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
6348 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6349 EnsureStillAliveScope argument1 = callFrame->argument(1);
6350 auto unused2 = argument1.value().isUndefined() ? String() : convert<IDLDOMString>(*lexicalGlobalObject, argument1.value());
6351 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6352 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLInterface<Document>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.openForBindings(responsibleDocument(jsCast<JSDOMGlobalObject*>(lexicalGlobalObject)->vm(), *callFrame), WTFMove(unused1), WTFMove(unused2)))));
6353}
6354
6355static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_open2Body(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6356{
6357 auto& vm = JSC::getVM(lexicalGlobalObject);
6358 auto throwScope = DECLARE_THROW_SCOPE(vm);
6359 UNUSED_PARAM(throwScope);
6360 UNUSED_PARAM(callFrame);
6361 auto& impl = castedThis->wrapped();
6362 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6363 auto url = convert<IDLUSVString>(*lexicalGlobalObject, argument0.value());
6364 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6365 EnsureStillAliveScope argument1 = callFrame->uncheckedArgument(1);
6366 auto name = convert<IDLDOMString>(*lexicalGlobalObject, argument1.value());
6367 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6368 EnsureStillAliveScope argument2 = callFrame->uncheckedArgument(2);
6369 auto features = convert<IDLDOMString>(*lexicalGlobalObject, argument2.value());
6370 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6371 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLInterface<WindowProxy>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.openForBindings(activeDOMWindow(*jsCast<JSDOMGlobalObject*>(lexicalGlobalObject)), firstDOMWindow(*jsCast<JSDOMGlobalObject*>(lexicalGlobalObject)), WTFMove(url), WTFMove(name), WTFMove(features)))));
6372}
6373
6374static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_openOverloadDispatcher(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6375{
6376 auto& vm = JSC::getVM(lexicalGlobalObject);
6377 auto throwScope = DECLARE_THROW_SCOPE(vm);
6378 UNUSED_PARAM(throwScope);
6379 UNUSED_PARAM(callFrame);
6380 size_t argsCount = std::min<size_t>(3, callFrame->argumentCount());
6381 if (argsCount == 0) {
6382 RELEASE_AND_RETURN(throwScope, (jsDocumentPrototypeFunction_open1Body(lexicalGlobalObject, callFrame, castedThis)));
6383 }
6384 if (argsCount == 1) {
6385 RELEASE_AND_RETURN(throwScope, (jsDocumentPrototypeFunction_open1Body(lexicalGlobalObject, callFrame, castedThis)));
6386 }
6387 if (argsCount == 2) {
6388 RELEASE_AND_RETURN(throwScope, (jsDocumentPrototypeFunction_open1Body(lexicalGlobalObject, callFrame, castedThis)));
6389 }
6390 if (argsCount == 3) {
6391 RELEASE_AND_RETURN(throwScope, (jsDocumentPrototypeFunction_open2Body(lexicalGlobalObject, callFrame, castedThis)));
6392 }
6393 return throwVMTypeError(lexicalGlobalObject, throwScope);
6394}
6395
6396JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_open, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6397{
6398 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_openOverloadDispatcher>(*lexicalGlobalObject, *callFrame, "open");
6399}
6400
6401static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_closeBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6402{
6403 auto& vm = JSC::getVM(lexicalGlobalObject);
6404 auto throwScope = DECLARE_THROW_SCOPE(vm);
6405 UNUSED_PARAM(throwScope);
6406 UNUSED_PARAM(callFrame);
6407 CustomElementReactionStack customElementReactionStack(*lexicalGlobalObject);
6408 auto& impl = castedThis->wrapped();
6409 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLUndefined>(*lexicalGlobalObject, throwScope, [&]() -> decltype(auto) { return impl.closeForBindings(); })));
6410}
6411
6412JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_close, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6413{
6414 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_closeBody>(*lexicalGlobalObject, *callFrame, "close");
6415}
6416
6417static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_writeBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6418{
6419 auto& vm = JSC::getVM(lexicalGlobalObject);
6420 auto throwScope = DECLARE_THROW_SCOPE(vm);
6421 UNUSED_PARAM(throwScope);
6422 UNUSED_PARAM(callFrame);
6423 CustomElementReactionStack customElementReactionStack(*lexicalGlobalObject);
6424 auto& impl = castedThis->wrapped();
6425 auto text = convertVariadicArguments<IDLDOMString>(*lexicalGlobalObject, *callFrame, 0);
6426 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6427 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLUndefined>(*lexicalGlobalObject, throwScope, [&]() -> decltype(auto) { return impl.write(responsibleDocument(jsCast<JSDOMGlobalObject*>(lexicalGlobalObject)->vm(), *callFrame), WTFMove(text)); })));
6428}
6429
6430JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_write, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6431{
6432 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_writeBody>(*lexicalGlobalObject, *callFrame, "write");
6433}
6434
6435static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_writelnBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6436{
6437 auto& vm = JSC::getVM(lexicalGlobalObject);
6438 auto throwScope = DECLARE_THROW_SCOPE(vm);
6439 UNUSED_PARAM(throwScope);
6440 UNUSED_PARAM(callFrame);
6441 CustomElementReactionStack customElementReactionStack(*lexicalGlobalObject);
6442 auto& impl = castedThis->wrapped();
6443 auto text = convertVariadicArguments<IDLDOMString>(*lexicalGlobalObject, *callFrame, 0);
6444 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6445 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLUndefined>(*lexicalGlobalObject, throwScope, [&]() -> decltype(auto) { return impl.writeln(responsibleDocument(jsCast<JSDOMGlobalObject*>(lexicalGlobalObject)->vm(), *callFrame), WTFMove(text)); })));
6446}
6447
6448JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_writeln, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6449{
6450 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_writelnBody>(*lexicalGlobalObject, *callFrame, "writeln");
6451}
6452
6453static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_hasFocusBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6454{
6455 auto& vm = JSC::getVM(lexicalGlobalObject);
6456 auto throwScope = DECLARE_THROW_SCOPE(vm);
6457 UNUSED_PARAM(throwScope);
6458 UNUSED_PARAM(callFrame);
6459 auto& impl = castedThis->wrapped();
6460 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLBoolean>(*lexicalGlobalObject, throwScope, impl.hasFocus())));
6461}
6462
6463JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_hasFocus, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6464{
6465 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_hasFocusBody>(*lexicalGlobalObject, *callFrame, "hasFocus");
6466}
6467
6468static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_execCommandBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6469{
6470 auto& vm = JSC::getVM(lexicalGlobalObject);
6471 auto throwScope = DECLARE_THROW_SCOPE(vm);
6472 UNUSED_PARAM(throwScope);
6473 UNUSED_PARAM(callFrame);
6474 CustomElementReactionStack customElementReactionStack(*lexicalGlobalObject);
6475 auto& impl = castedThis->wrapped();
6476 if (UNLIKELY(callFrame->argumentCount() < 1))
6477 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6478 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6479 auto commandId = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
6480 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6481 EnsureStillAliveScope argument1 = callFrame->argument(1);
6482 auto showUI = convert<IDLBoolean>(*lexicalGlobalObject, argument1.value());
6483 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6484 EnsureStillAliveScope argument2 = callFrame->argument(2);
6485 auto value = argument2.value().isUndefined() ? emptyString() : convert<IDLDOMString>(*lexicalGlobalObject, argument2.value());
6486 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6487 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLBoolean>(*lexicalGlobalObject, throwScope, impl.execCommand(WTFMove(commandId), WTFMove(showUI), WTFMove(value)))));
6488}
6489
6490JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_execCommand, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6491{
6492 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_execCommandBody>(*lexicalGlobalObject, *callFrame, "execCommand");
6493}
6494
6495static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_queryCommandEnabledBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6496{
6497 auto& vm = JSC::getVM(lexicalGlobalObject);
6498 auto throwScope = DECLARE_THROW_SCOPE(vm);
6499 UNUSED_PARAM(throwScope);
6500 UNUSED_PARAM(callFrame);
6501 auto& impl = castedThis->wrapped();
6502 if (UNLIKELY(callFrame->argumentCount() < 1))
6503 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6504 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6505 auto commandId = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
6506 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6507 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLBoolean>(*lexicalGlobalObject, throwScope, impl.queryCommandEnabled(WTFMove(commandId)))));
6508}
6509
6510JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_queryCommandEnabled, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6511{
6512 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_queryCommandEnabledBody>(*lexicalGlobalObject, *callFrame, "queryCommandEnabled");
6513}
6514
6515static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_queryCommandIndetermBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6516{
6517 auto& vm = JSC::getVM(lexicalGlobalObject);
6518 auto throwScope = DECLARE_THROW_SCOPE(vm);
6519 UNUSED_PARAM(throwScope);
6520 UNUSED_PARAM(callFrame);
6521 auto& impl = castedThis->wrapped();
6522 if (UNLIKELY(callFrame->argumentCount() < 1))
6523 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6524 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6525 auto commandId = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
6526 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6527 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLBoolean>(*lexicalGlobalObject, throwScope, impl.queryCommandIndeterm(WTFMove(commandId)))));
6528}
6529
6530JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_queryCommandIndeterm, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6531{
6532 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_queryCommandIndetermBody>(*lexicalGlobalObject, *callFrame, "queryCommandIndeterm");
6533}
6534
6535static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_queryCommandStateBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6536{
6537 auto& vm = JSC::getVM(lexicalGlobalObject);
6538 auto throwScope = DECLARE_THROW_SCOPE(vm);
6539 UNUSED_PARAM(throwScope);
6540 UNUSED_PARAM(callFrame);
6541 auto& impl = castedThis->wrapped();
6542 if (UNLIKELY(callFrame->argumentCount() < 1))
6543 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6544 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6545 auto commandId = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
6546 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6547 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLBoolean>(*lexicalGlobalObject, throwScope, impl.queryCommandState(WTFMove(commandId)))));
6548}
6549
6550JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_queryCommandState, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6551{
6552 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_queryCommandStateBody>(*lexicalGlobalObject, *callFrame, "queryCommandState");
6553}
6554
6555static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_queryCommandSupportedBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6556{
6557 auto& vm = JSC::getVM(lexicalGlobalObject);
6558 auto throwScope = DECLARE_THROW_SCOPE(vm);
6559 UNUSED_PARAM(throwScope);
6560 UNUSED_PARAM(callFrame);
6561 auto& impl = castedThis->wrapped();
6562 if (UNLIKELY(callFrame->argumentCount() < 1))
6563 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6564 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6565 auto commandId = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
6566 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6567 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLBoolean>(*lexicalGlobalObject, throwScope, impl.queryCommandSupported(WTFMove(commandId)))));
6568}
6569
6570JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_queryCommandSupported, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6571{
6572 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_queryCommandSupportedBody>(*lexicalGlobalObject, *callFrame, "queryCommandSupported");
6573}
6574
6575static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_queryCommandValueBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6576{
6577 auto& vm = JSC::getVM(lexicalGlobalObject);
6578 auto throwScope = DECLARE_THROW_SCOPE(vm);
6579 UNUSED_PARAM(throwScope);
6580 UNUSED_PARAM(callFrame);
6581 auto& impl = castedThis->wrapped();
6582 if (UNLIKELY(callFrame->argumentCount() < 1))
6583 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6584 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6585 auto commandId = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
6586 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6587 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLDOMString>(*lexicalGlobalObject, throwScope, impl.queryCommandValue(WTFMove(commandId)))));
6588}
6589
6590JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_queryCommandValue, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6591{
6592 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_queryCommandValueBody>(*lexicalGlobalObject, *callFrame, "queryCommandValue");
6593}
6594
6595static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_clearBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6596{
6597 auto& vm = JSC::getVM(lexicalGlobalObject);
6598 auto throwScope = DECLARE_THROW_SCOPE(vm);
6599 UNUSED_PARAM(throwScope);
6600 UNUSED_PARAM(callFrame);
6601 auto& impl = castedThis->wrapped();
6602 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLUndefined>(*lexicalGlobalObject, throwScope, [&]() -> decltype(auto) { return impl.clear(); })));
6603}
6604
6605JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_clear, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6606{
6607 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_clearBody>(*lexicalGlobalObject, *callFrame, "clear");
6608}
6609
6610static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_captureEventsBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6611{
6612 auto& vm = JSC::getVM(lexicalGlobalObject);
6613 auto throwScope = DECLARE_THROW_SCOPE(vm);
6614 UNUSED_PARAM(throwScope);
6615 UNUSED_PARAM(callFrame);
6616 auto& impl = castedThis->wrapped();
6617 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLUndefined>(*lexicalGlobalObject, throwScope, [&]() -> decltype(auto) { return impl.captureEvents(); })));
6618}
6619
6620JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_captureEvents, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6621{
6622 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_captureEventsBody>(*lexicalGlobalObject, *callFrame, "captureEvents");
6623}
6624
6625static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_releaseEventsBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6626{
6627 auto& vm = JSC::getVM(lexicalGlobalObject);
6628 auto throwScope = DECLARE_THROW_SCOPE(vm);
6629 UNUSED_PARAM(throwScope);
6630 UNUSED_PARAM(callFrame);
6631 auto& impl = castedThis->wrapped();
6632 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLUndefined>(*lexicalGlobalObject, throwScope, [&]() -> decltype(auto) { return impl.releaseEvents(); })));
6633}
6634
6635JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_releaseEvents, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6636{
6637 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_releaseEventsBody>(*lexicalGlobalObject, *callFrame, "releaseEvents");
6638}
6639
6640#if ENABLE(POINTER_LOCK)
6641static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_exitPointerLockBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6642{
6643 auto& vm = JSC::getVM(lexicalGlobalObject);
6644 auto throwScope = DECLARE_THROW_SCOPE(vm);
6645 UNUSED_PARAM(throwScope);
6646 UNUSED_PARAM(callFrame);
6647 auto& impl = castedThis->wrapped();
6648 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLUndefined>(*lexicalGlobalObject, throwScope, [&]() -> decltype(auto) { return impl.exitPointerLock(); })));
6649}
6650
6651JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_exitPointerLock, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6652{
6653 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_exitPointerLockBody>(*lexicalGlobalObject, *callFrame, "exitPointerLock");
6654}
6655
6656#endif
6657
6658static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_getSelectionBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6659{
6660 auto& vm = JSC::getVM(lexicalGlobalObject);
6661 auto throwScope = DECLARE_THROW_SCOPE(vm);
6662 UNUSED_PARAM(throwScope);
6663 UNUSED_PARAM(callFrame);
6664 auto& impl = castedThis->wrapped();
6665 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLNullable<IDLInterface<DOMSelection>>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.getSelection())));
6666}
6667
6668JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_getSelection, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6669{
6670 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_getSelectionBody>(*lexicalGlobalObject, *callFrame, "getSelection");
6671}
6672
6673#if ENABLE(RESOURCE_LOAD_STATISTICS)
6674static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_hasStorageAccessBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperationReturningPromise<JSDocument>::ClassParameter castedThis, Ref<DeferredPromise>&& promise)
6675{
6676 auto& vm = JSC::getVM(lexicalGlobalObject);
6677 auto throwScope = DECLARE_THROW_SCOPE(vm);
6678 UNUSED_PARAM(throwScope);
6679 UNUSED_PARAM(callFrame);
6680 auto& impl = castedThis->wrapped();
6681 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLPromise<IDLBoolean>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, [&]() -> decltype(auto) { return WebCore::DocumentStorageAccess::hasStorageAccess(impl, WTFMove(promise)); })));
6682}
6683
6684JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_hasStorageAccess, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6685{
6686 return IDLOperationReturningPromise<JSDocument>::call<jsDocumentPrototypeFunction_hasStorageAccessBody>(*lexicalGlobalObject, *callFrame, "hasStorageAccess");
6687}
6688
6689#endif
6690
6691#if ENABLE(RESOURCE_LOAD_STATISTICS)
6692static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_requestStorageAccessBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperationReturningPromise<JSDocument>::ClassParameter castedThis, Ref<DeferredPromise>&& promise)
6693{
6694 auto& vm = JSC::getVM(lexicalGlobalObject);
6695 auto throwScope = DECLARE_THROW_SCOPE(vm);
6696 UNUSED_PARAM(throwScope);
6697 UNUSED_PARAM(callFrame);
6698 auto& impl = castedThis->wrapped();
6699 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLPromise<IDLUndefined>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, [&]() -> decltype(auto) { return WebCore::DocumentStorageAccess::requestStorageAccess(impl, WTFMove(promise)); })));
6700}
6701
6702JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_requestStorageAccess, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6703{
6704 return IDLOperationReturningPromise<JSDocument>::call<jsDocumentPrototypeFunction_requestStorageAccessBody>(*lexicalGlobalObject, *callFrame, "requestStorageAccess");
6705}
6706
6707#endif
6708
6709static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_elementFromPointBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6710{
6711 auto& vm = JSC::getVM(lexicalGlobalObject);
6712 auto throwScope = DECLARE_THROW_SCOPE(vm);
6713 UNUSED_PARAM(throwScope);
6714 UNUSED_PARAM(callFrame);
6715 auto& impl = castedThis->wrapped();
6716 if (UNLIKELY(callFrame->argumentCount() < 2))
6717 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6718 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6719 auto x = convert<IDLDouble>(*lexicalGlobalObject, argument0.value());
6720 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6721 EnsureStillAliveScope argument1 = callFrame->uncheckedArgument(1);
6722 auto y = convert<IDLDouble>(*lexicalGlobalObject, argument1.value());
6723 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6724 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLNullable<IDLInterface<Element>>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.elementFromPoint(WTFMove(x), WTFMove(y)))));
6725}
6726
6727JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_elementFromPoint, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6728{
6729 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_elementFromPointBody>(*lexicalGlobalObject, *callFrame, "elementFromPoint");
6730}
6731
6732static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_elementsFromPointBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6733{
6734 auto& vm = JSC::getVM(lexicalGlobalObject);
6735 auto throwScope = DECLARE_THROW_SCOPE(vm);
6736 UNUSED_PARAM(throwScope);
6737 UNUSED_PARAM(callFrame);
6738 auto& impl = castedThis->wrapped();
6739 if (UNLIKELY(callFrame->argumentCount() < 2))
6740 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6741 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6742 auto x = convert<IDLDouble>(*lexicalGlobalObject, argument0.value());
6743 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6744 EnsureStillAliveScope argument1 = callFrame->uncheckedArgument(1);
6745 auto y = convert<IDLDouble>(*lexicalGlobalObject, argument1.value());
6746 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6747 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLSequence<IDLInterface<Element>>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.elementsFromPoint(WTFMove(x), WTFMove(y)))));
6748}
6749
6750JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_elementsFromPoint, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6751{
6752 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_elementsFromPointBody>(*lexicalGlobalObject, *callFrame, "elementsFromPoint");
6753}
6754
6755static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_getAnimationsBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6756{
6757 auto& vm = JSC::getVM(lexicalGlobalObject);
6758 auto throwScope = DECLARE_THROW_SCOPE(vm);
6759 UNUSED_PARAM(throwScope);
6760 UNUSED_PARAM(callFrame);
6761 auto& impl = castedThis->wrapped();
6762 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLSequence<IDLInterface<WebAnimation>>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.getAnimations())));
6763}
6764
6765JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_getAnimations, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6766{
6767 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_getAnimationsBody>(*lexicalGlobalObject, *callFrame, "getAnimations");
6768}
6769
6770static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_getElementByIdBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6771{
6772 auto& vm = JSC::getVM(lexicalGlobalObject);
6773 auto throwScope = DECLARE_THROW_SCOPE(vm);
6774 UNUSED_PARAM(throwScope);
6775 UNUSED_PARAM(callFrame);
6776 auto& impl = castedThis->wrapped();
6777 if (UNLIKELY(callFrame->argumentCount() < 1))
6778 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6779 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6780 auto elementId = convert<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>(*lexicalGlobalObject, argument0.value());
6781 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6782 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLNullable<IDLInterface<Element>>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.getElementById(WTFMove(elementId)))));
6783}
6784
6785JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_getElementById, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6786{
6787 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_getElementByIdBody>(*lexicalGlobalObject, *callFrame, "getElementById");
6788}
6789
6790JSC_DEFINE_JIT_OPERATION(jsDocumentPrototypeFunction_getElementByIdWithoutTypeCheck, JSC::EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, JSDocument* castedThis, DOMJIT::IDLJSArgumentType<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>> encodedElementId))
6791{
6792 UNUSED_PARAM(lexicalGlobalObject);
6793 VM& vm = JSC::getVM(lexicalGlobalObject);
6794 IGNORE_WARNINGS_BEGIN("frame-address")
6795 CallFrame* callFrame = DECLARE_CALL_FRAME(vm);
6796 IGNORE_WARNINGS_END
6797 JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame);
6798 auto throwScope = DECLARE_THROW_SCOPE(vm);
6799 UNUSED_PARAM(throwScope);
6800 auto& impl = castedThis->wrapped();
6801 auto elementId = DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert(*lexicalGlobalObject, encodedElementId);
6802 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6803 return JSValue::encode(toJS<IDLNullable<IDLInterface<Element>>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.getElementById(WTFMove(elementId))));
6804}
6805
6806static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_prependBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6807{
6808 auto& vm = JSC::getVM(lexicalGlobalObject);
6809 auto throwScope = DECLARE_THROW_SCOPE(vm);
6810 UNUSED_PARAM(throwScope);
6811 UNUSED_PARAM(callFrame);
6812 CustomElementReactionStack customElementReactionStack(*lexicalGlobalObject);
6813 auto& impl = castedThis->wrapped();
6814 auto nodes = convertVariadicArguments<IDLUnion<IDLInterface<Node>, IDLDOMString>>(*lexicalGlobalObject, *callFrame, 0);
6815 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6816 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLUndefined>(*lexicalGlobalObject, throwScope, [&]() -> decltype(auto) { return impl.prepend(WTFMove(nodes)); })));
6817}
6818
6819JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_prepend, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6820{
6821 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_prependBody>(*lexicalGlobalObject, *callFrame, "prepend");
6822}
6823
6824static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_appendBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6825{
6826 auto& vm = JSC::getVM(lexicalGlobalObject);
6827 auto throwScope = DECLARE_THROW_SCOPE(vm);
6828 UNUSED_PARAM(throwScope);
6829 UNUSED_PARAM(callFrame);
6830 CustomElementReactionStack customElementReactionStack(*lexicalGlobalObject);
6831 auto& impl = castedThis->wrapped();
6832 auto nodes = convertVariadicArguments<IDLUnion<IDLInterface<Node>, IDLDOMString>>(*lexicalGlobalObject, *callFrame, 0);
6833 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6834 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLUndefined>(*lexicalGlobalObject, throwScope, [&]() -> decltype(auto) { return impl.append(WTFMove(nodes)); })));
6835}
6836
6837JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_append, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6838{
6839 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_appendBody>(*lexicalGlobalObject, *callFrame, "append");
6840}
6841
6842static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_replaceChildrenBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6843{
6844 auto& vm = JSC::getVM(lexicalGlobalObject);
6845 auto throwScope = DECLARE_THROW_SCOPE(vm);
6846 UNUSED_PARAM(throwScope);
6847 UNUSED_PARAM(callFrame);
6848 CustomElementReactionStack customElementReactionStack(*lexicalGlobalObject);
6849 auto& impl = castedThis->wrapped();
6850 auto nodes = convertVariadicArguments<IDLUnion<IDLInterface<Node>, IDLDOMString>>(*lexicalGlobalObject, *callFrame, 0);
6851 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6852 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLUndefined>(*lexicalGlobalObject, throwScope, [&]() -> decltype(auto) { return impl.replaceChildren(WTFMove(nodes)); })));
6853}
6854
6855JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_replaceChildren, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6856{
6857 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_replaceChildrenBody>(*lexicalGlobalObject, *callFrame, "replaceChildren");
6858}
6859
6860static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_querySelectorBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6861{
6862 auto& vm = JSC::getVM(lexicalGlobalObject);
6863 auto throwScope = DECLARE_THROW_SCOPE(vm);
6864 UNUSED_PARAM(throwScope);
6865 UNUSED_PARAM(callFrame);
6866 auto& impl = castedThis->wrapped();
6867 if (UNLIKELY(callFrame->argumentCount() < 1))
6868 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6869 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6870 auto selectors = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
6871 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6872 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLNullable<IDLInterface<Element>>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.querySelector(WTFMove(selectors)))));
6873}
6874
6875JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_querySelector, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6876{
6877 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_querySelectorBody>(*lexicalGlobalObject, *callFrame, "querySelector");
6878}
6879
6880static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_querySelectorAllBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6881{
6882 auto& vm = JSC::getVM(lexicalGlobalObject);
6883 auto throwScope = DECLARE_THROW_SCOPE(vm);
6884 UNUSED_PARAM(throwScope);
6885 UNUSED_PARAM(callFrame);
6886 auto& impl = castedThis->wrapped();
6887 if (UNLIKELY(callFrame->argumentCount() < 1))
6888 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6889 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6890 auto selectors = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
6891 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6892 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJSNewlyCreated<IDLInterface<NodeList>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.querySelectorAll(WTFMove(selectors)))));
6893}
6894
6895JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_querySelectorAll, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6896{
6897 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_querySelectorAllBody>(*lexicalGlobalObject, *callFrame, "querySelectorAll");
6898}
6899
6900static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_createExpressionBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6901{
6902 auto& vm = JSC::getVM(lexicalGlobalObject);
6903 auto throwScope = DECLARE_THROW_SCOPE(vm);
6904 UNUSED_PARAM(throwScope);
6905 UNUSED_PARAM(callFrame);
6906 auto& impl = castedThis->wrapped();
6907 if (UNLIKELY(callFrame->argumentCount() < 1))
6908 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6909 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6910 auto expression = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
6911 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6912 EnsureStillAliveScope argument1 = callFrame->argument(1);
6913 auto resolver = convert<IDLNullable<IDLInterface<XPathNSResolver>>>(*lexicalGlobalObject, argument1.value(), [](JSC::JSGlobalObject& lexicalGlobalObject, JSC::ThrowScope& scope) { throwArgumentTypeError(lexicalGlobalObject, scope, 1, "resolver", "Document", "createExpression", "XPathNSResolver"); });
6914 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6915 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJSNewlyCreated<IDLInterface<XPathExpression>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.createExpression(WTFMove(expression), WTFMove(resolver)))));
6916}
6917
6918JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_createExpression, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6919{
6920 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_createExpressionBody>(*lexicalGlobalObject, *callFrame, "createExpression");
6921}
6922
6923static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_createNSResolverBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6924{
6925 auto& vm = JSC::getVM(lexicalGlobalObject);
6926 auto throwScope = DECLARE_THROW_SCOPE(vm);
6927 UNUSED_PARAM(throwScope);
6928 UNUSED_PARAM(callFrame);
6929 auto& impl = castedThis->wrapped();
6930 if (UNLIKELY(callFrame->argumentCount() < 1))
6931 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6932 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6933 auto nodeResolver = convert<IDLInterface<Node>>(*lexicalGlobalObject, argument0.value(), [](JSC::JSGlobalObject& lexicalGlobalObject, JSC::ThrowScope& scope) { throwArgumentTypeError(lexicalGlobalObject, scope, 0, "nodeResolver", "Document", "createNSResolver", "Node"); });
6934 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6935 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLInterface<XPathNSResolver>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.createNSResolver(*nodeResolver))));
6936}
6937
6938JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_createNSResolver, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6939{
6940 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_createNSResolverBody>(*lexicalGlobalObject, *callFrame, "createNSResolver");
6941}
6942
6943static inline JSC::EncodedJSValue jsDocumentPrototypeFunction_evaluateBody(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSDocument>::ClassParameter castedThis)
6944{
6945 auto& vm = JSC::getVM(lexicalGlobalObject);
6946 auto throwScope = DECLARE_THROW_SCOPE(vm);
6947 UNUSED_PARAM(throwScope);
6948 UNUSED_PARAM(callFrame);
6949 auto& impl = castedThis->wrapped();
6950 if (UNLIKELY(callFrame->argumentCount() < 2))
6951 return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject));
6952 EnsureStillAliveScope argument0 = callFrame->uncheckedArgument(0);
6953 auto expression = convert<IDLDOMString>(*lexicalGlobalObject, argument0.value());
6954 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6955 EnsureStillAliveScope argument1 = callFrame->uncheckedArgument(1);
6956 auto contextNode = convert<IDLInterface<Node>>(*lexicalGlobalObject, argument1.value(), [](JSC::JSGlobalObject& lexicalGlobalObject, JSC::ThrowScope& scope) { throwArgumentTypeError(lexicalGlobalObject, scope, 1, "contextNode", "Document", "evaluate", "Node"); });
6957 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6958 EnsureStillAliveScope argument2 = callFrame->argument(2);
6959 auto resolver = convert<IDLNullable<IDLInterface<XPathNSResolver>>>(*lexicalGlobalObject, argument2.value(), [](JSC::JSGlobalObject& lexicalGlobalObject, JSC::ThrowScope& scope) { throwArgumentTypeError(lexicalGlobalObject, scope, 2, "resolver", "Document", "evaluate", "XPathNSResolver"); });
6960 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6961 EnsureStillAliveScope argument3 = callFrame->argument(3);
6962 auto type = convert<IDLUnsignedShort>(*lexicalGlobalObject, argument3.value());
6963 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6964 EnsureStillAliveScope argument4 = callFrame->argument(4);
6965 auto inResult = convert<IDLNullable<IDLInterface<XPathResult>>>(*lexicalGlobalObject, argument4.value(), [](JSC::JSGlobalObject& lexicalGlobalObject, JSC::ThrowScope& scope) { throwArgumentTypeError(lexicalGlobalObject, scope, 4, "inResult", "Document", "evaluate", "XPathResult"); });
6966 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6967 RELEASE_AND_RETURN(throwScope, JSValue::encode(toJS<IDLInterface<XPathResult>>(*lexicalGlobalObject, *castedThis->globalObject(), throwScope, impl.evaluate(WTFMove(expression), *contextNode, WTFMove(resolver), WTFMove(type), WTFMove(inResult)))));
6968}
6969
6970JSC_DEFINE_HOST_FUNCTION(jsDocumentPrototypeFunction_evaluate, (JSGlobalObject* lexicalGlobalObject, CallFrame* callFrame))
6971{
6972 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunction_evaluateBody>(*lexicalGlobalObject, *callFrame, "evaluate");
6973}
6974
6975JSC::IsoSubspace* JSDocument::subspaceForImpl(JSC::VM& vm)
6976{
6977 auto& clientData = *static_cast<JSVMClientData*>(vm.clientData);
6978 auto& spaces = clientData.subspaces();
6979 if (auto* space = spaces.m_subspaceForDocument.get())
6980 return space;
6981 static_assert(std::is_base_of_v<JSC::JSDestructibleObject, JSDocument> || !JSDocument::needsDestruction);
6982 if constexpr (std::is_base_of_v<JSC::JSDestructibleObject, JSDocument>)
6983 spaces.m_subspaceForDocument = makeUnique<IsoSubspace> ISO_SUBSPACE_INIT(vm.heap, vm.destructibleObjectHeapCellType.get(), JSDocument);
6984 else
6985 spaces.m_subspaceForDocument = makeUnique<IsoSubspace> ISO_SUBSPACE_INIT(vm.heap, vm.cellHeapCellType.get(), JSDocument);
6986 auto* space = spaces.m_subspaceForDocument.get();
6987IGNORE_WARNINGS_BEGIN("unreachable-code")
6988IGNORE_WARNINGS_BEGIN("tautological-compare")
6989 void (*myVisitOutputConstraint)(JSC::JSCell*, JSC::SlotVisitor&) = JSDocument::visitOutputConstraints;
6990 void (*jsCellVisitOutputConstraint)(JSC::JSCell*, JSC::SlotVisitor&) = JSC::JSCell::visitOutputConstraints;
6991 if (myVisitOutputConstraint != jsCellVisitOutputConstraint)
6992 clientData.outputConstraintSpaces().append(space);
6993IGNORE_WARNINGS_END
6994IGNORE_WARNINGS_END
6995 return space;
6996}
6997
6998template<typename Visitor>
6999void JSDocument::visitChildrenImpl(JSCell* cell, Visitor& visitor)
7000{
7001 auto* thisObject = jsCast<JSDocument*>(cell);
7002 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
7003 Base::visitChildren(thisObject, visitor);
7004 thisObject->visitAdditionalChildren(visitor);
7005}
7006
7007DEFINE_VISIT_CHILDREN(JSDocument);
7008
7009template<typename Visitor>
7010void JSDocument::visitOutputConstraints(JSCell* cell, Visitor& visitor)
7011{
7012 auto* thisObject = jsCast<JSDocument*>(cell);
7013 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
7014 Base::visitOutputConstraints(thisObject, visitor);
7015 thisObject->visitAdditionalChildren(visitor);
7016}
7017
7018template void JSDocument::visitOutputConstraints(JSCell*, AbstractSlotVisitor&);
7019template void JSDocument::visitOutputConstraints(JSCell*, SlotVisitor&);
7020Document* JSDocument::toWrapped(JSC::VM& vm, JSC::JSValue value)
7021{
7022 if (auto* wrapper = jsDynamicCast<JSDocument*>(vm, value))
7023 return &wrapper->wrapped();
7024 return nullptr;
7025}
7026
7027}
7028